摘要: 思路: 将二维数组看成一个一维数组,数组长度为m n,对于位置x,它映射到matrix数组里面的位置为i/n,i%n,然后利用二分查找即可。 阅读全文
posted @ 2017-06-11 19:29 UniMilky 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 思路: 设置两个bool数组row[matrix[0].size()],col[matrix.size()]分别记录行和列中的0,如果matrix[i]\[j]为0,那么将row[j]和col[i]赋值为0。先遍历数组matrix,更新bool数组,然后遍历bool数组,更新matrix。(也可以将 阅读全文
posted @ 2017-06-11 19:08 UniMilky 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 思路: 直接模拟加法 class Solution { public: vector plusOne(vector& digits) { int lead = 0; int in = 1; for(int i = digits.size() 1; i = 0; i ){ if(digits[i] + 阅读全文
posted @ 2017-06-11 08:22 UniMilky 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 64.Minimum Path Sum 思路: DFS + 备忘录,和Unique Path类似。 "参考文章" class Solution { public: int minPathSum(vector & grid) { int m = grid.size(); int n = grid[0] 阅读全文
posted @ 2017-06-10 23:14 UniMilky 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 思路: dfs,超时 DP。 "参考文章" class Solution { public: int uniquePathsWithObstacles(vector & obstacleGrid) { int m = obstacleGrid.size(); int n = obstacleGrid 阅读全文
posted @ 2017-06-10 14:47 UniMilky 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 思路: dfs,超时 dfs + 备忘录即可过大数据集。 "参考文章" 组合数学方法。$m /times n的网格,从$(0,0)$走到$(m 1,n 1)$共需要$m+n 2$步,其中 $m 1$ 步向下,$n 1$ 步向右。如果把向下走记为 $0$ ,向右走记为 $1$ ,相当于$m 1$个 $ 阅读全文
posted @ 2017-06-10 13:33 UniMilky 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 思路 直接模拟程序运行,设置$rowbegin,rowend,colbegin,colend$变量。注意:要判断是否遍历过。 "参考" dfs:待实现 阅读全文
posted @ 2017-06-09 12:03 UniMilky 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 思路 类似Spiral Matrix,直接模拟 dfs:等做几道dfs后再来实现 阅读全文
posted @ 2017-06-09 12:02 UniMilky 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 思路: dfs,超时 class Solution { public: bool canJump(vector& nums) { return dfs(nums,0); } bool dfs(vector& nums,int i){ if(i == nums.size() 1) return tru 阅读全文
posted @ 2017-06-09 10:41 UniMilky 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 上网时看到的,虽然方向不同,但是有些建议很中肯。 链接: http://blog.sina.com.cn/s/blog_50c1545101008spw.html梁大伟 序 我刚刚开始做实验的时候,别人怎么说我就怎么做,每天在实验台旁干到深 夜,以为这就是科研了。两个月过去,突然发现自己还在原地踏步 阅读全文
posted @ 2017-06-08 18:42 UniMilky 阅读(654) 评论(0) 推荐(0) 编辑