LeetCode练习记录2017/12/8
来源:互联网 发布:济南网络推广招聘 编辑:程序博客网 时间:2024/05/29 16:30
【566】Reshape the Matrix
class Solution {public:vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) {int total = 0;int a = nums.size();int b = nums[0].size();for(int i=0;i<nums.size();i++){total += nums[i].size();}if (total < r*c)return nums;else{vector<vector<int>> n;vector<int>v;int t = 0;for(int i=0;i<a;i++){for(int j=0;j<b;j++){v.push_back(nums[i][j]);t++;if (t % c == 0){n.push_back(v);v.clear();}if (t == total)break;}}for (int i = 0; i < 4; i++)cout << n[0][i];return n;}}};
【669】Trim a Binary Tree
class Solution {public:TreeNode* trimBST(TreeNode* root, int L, int R) {TreeNode* n = new TreeNode(-1);queue<TreeNode*>q;q.push(root);while(!q.empty()){TreeNode* temp = q.front();q.pop();if (temp->left != NULL) q.push(temp->left);if (temp->right != NULL) q.push(temp->right);if(temp->val>=L&&temp->val<=R){insert(n,temp->val);}}return n;}void insert(TreeNode* n,int val){if(n->val==-1){n->val = val;}else{TreeNode* temp = new TreeNode(val);TreeNode* t = n;while(!(t->left==NULL&&t->right==NULL)){if (t->val > val&&t->left!=NULL) t = t->left;if (t->val < val&&t->right!=NULL) t = t->right;if(t->val>val&&t->left==NULL){t->left = temp;return;}if(t->val<val&&t->right==NULL){t->right = temp;return;}}if (t->val > val) t->left = temp;if (t->val < val)t->right = temp;}}};
【463】Island Perimeter
class Solution {public:int islandPerimeter(vector<vector<int>>& grid) {bool array[100][100];memset(array, false, sizeof(bool));int count = 0;for(int i=0;i<grid.size();i++){for(int j=0;j<grid[i].size();j++){if (grid[i][j]){if (i == 0){ if (j == 0)count += 4;else if (grid[i][j-1])count += 2;else count += 4;}else if(j==0){if (grid[i - 1][j])count += 2;else count += 4;}else{if (grid[i - 1][j] && grid[i][j - 1]);else if (grid[i - 1][j]) count += 2;else if (grid[i][j - 1]) count += 2;else count += 4;}}}}return count;}};
【496】Next Greater Element I
class Solution {public:vector<int> nextGreaterElement(vector<int>& findNums, vector<int>& nums) {unordered_map<int, int> hm;for (int i = 0; i<nums.size(); i++){hm[nums[i]] = i;}vector<int> v;for (int i = 0; i<findNums.size(); i++){int temp = hm[findNums[i]];while (temp<nums.size()&&(!(nums[temp] > findNums[i])) )temp++;if (temp != nums.size())v.push_back(nums[temp]);else v.push_back(-1);}return v;}};
【442】Find All Duplicates in an Array
class Solution {public:vector<int> findDuplicates(vector<int>& nums) { vector<int> ab; if(nums.empty()) return ab;int a = nums.size();vector<int>sol(a+1);for(int i=0;i<a;i++){sol[nums[i]]++;} int mark=0;for(int i=0;i<sol.size();i++){ if (sol[i] != 2) {sol.erase(sol.begin() + i ); i--; mark++; } else sol[i]=i+mark;}return sol;}};
阅读全文
0 0
- LeetCode练习记录2017/12/8
- LeetCode练习记录2017/12/9
- LeetCode练习记录2017/12/10
- 练习记录
- leetcode练习
- leetcode练习
- leetcode练习
- leetcode练习
- LeetCode解题记录(8)
- leetcode 题目记录:7,8
- Leetcode练习 #8 String to Integer (atoi)
- (记录)练习的记录
- LeetCode记录
- 缓冲区溢出练习记录
- POJ Volume1练习记录
- Linux练习记录
- openstack 练习记录
- shiny--练习记录
- Android自定义ViewGroup:实现简单的垂直方向线性布局(2)
- 项目中遇到的 蜜汁 VC 管理fang'an
- 《python机器学习及实践-从零开始通往kaggle竞赛之路(代码Python 3.6 版)》chapter1.1
- 希尔排序
- Ubuntu安装yaml
- LeetCode练习记录2017/12/8
- android7.1增加一个开机自启动的bin应用遇到的权限问题
- No mapping found for HTTP request with URI [/service/model/xxx/json] in DispatcherServlet
- 学习Maven日记-1
- Python 配置文件(.ini、 .conf、 .cfg)的读写
- jsp学习4-属性相关
- pytorch 0.3发布(0.3.0b0),更新信息以及更新步骤
- 批处理 重定向
- Day17—File 类、I/O流