会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
0_summer
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
下一页
2016年8月31日
leetcode-Gray Code-89
摘要: 输入n,求n个bit的格雷码,格雷码是从0开始,每个数之间只有一个bit不一样,如00,01,11,10 这题先审错了题,以为求n个bit的数有多少种,相当于选择,用dfs+回溯,没有注意到格雷码的要求。 找规律:根据要求发现可以这么做: 每轮以2^k为一组来求,假设上一轮的2^(k-1)是合法的格
阅读全文
posted @ 2016-08-31 10:42 0_summer
阅读(135)
评论(0)
推荐(0)
编辑
leetcode-Subsets-78
摘要: 输入一个数组,求所有子集 也是选择问题,在上一题的基础上枚举子集长度,然后dfs+回溯选择。同样注意去重
阅读全文
posted @ 2016-08-31 00:03 0_summer
阅读(180)
评论(0)
推荐(0)
编辑
2016年8月30日
leetcode-Combinations-77
摘要: 输入n和k,求1~n中任选k个数的所有组合 这题是选择不是排列,所以用dfs+回溯 还是那个问题——去重:想象一颗树,每一层相同的元素只搜索一次,下次若同一层这个元素已经做过了就跳过,具体看代码
阅读全文
posted @ 2016-08-30 23:56 0_summer
阅读(136)
评论(0)
推荐(0)
编辑
leetcode-Minimum Path Sum-64
摘要: 输入一个矩阵,求从左上角走到右下角经过的格子的最小和 第一次用得dfs,超时 正解:dp 和上两题差不多
阅读全文
posted @ 2016-08-30 23:30 0_summer
阅读(110)
评论(0)
推荐(0)
编辑
leetcode-Unique Paths II-63
摘要: 输入一个矩阵,0代表能走,1代表不能走,求从左上角走到右下角有多少种走法,和上题差不多,主思路还是从右下角开始填数字,然后a[i][j]=a[i+1][j]+a[i][j+1], 不过多了对能不能走的判断,这里我先把不能走的处理成INT_MAX,如果一个格子的下和右都能走,那么下+右,否则min(下
阅读全文
posted @ 2016-08-30 21:23 0_summer
阅读(154)
评论(0)
推荐(0)
编辑
leetcode-Unique Paths-62
摘要: 输入m,n代表一个m*n的矩阵,求从左上角走到右下角,每次只能往右或者往下走,能有多少种走法 找规律,发现就是从右下角开始填数字,每个格子的值是a[i][j]=a[i+1][j]+a[i][j+1],最后输出a[0][0],具体的画图理解
阅读全文
posted @ 2016-08-30 21:07 0_summer
阅读(130)
评论(0)
推荐(0)
编辑
leetcode-Permutation Sequence-60
摘要: 输入n,k,求1~n的数的全排列中第k大的排列,其中n<10 暴力做法是先求全排列(递归+交换),然后返回第k大的,但明显题目意图应该不是这样 找规律: 第一轮:假设a[0]=1,后面有 (n-1)!个全排列 第二轮:假设a[0]=2,后面有(n-1)!个全排列 ...... 因此,d*(n-1)!
阅读全文
posted @ 2016-08-30 20:54 0_summer
阅读(87)
评论(0)
推荐(0)
编辑
leetcode-Jump Game-55
摘要: 输入一个数组,a[i]表示第i个位置最远能跳的步数,求能否从0跳到n-1 一开始想的深搜,然后发现有贪心的做法,step保存能跳的最远的步数,遍历数组,step--,然后更新step为当前能跳的最远的步数,如果这个步数==0说明跳不了了,false; 如果step+i>=nums.size()-1说
阅读全文
posted @ 2016-08-30 18:12 0_summer
阅读(162)
评论(0)
推荐(0)
编辑
leetcode-Maximum Subarray-53
摘要: 最大子串和,输入一个数组,求连续的元素和的最大值 ans保存最大值,sum保存包含当前元素的前一个元素的连续子串的和,如果sum<0说明对当前元素来说是负影响,所以sum=0,然后加到当前元素;如果sum>=0说明是正影响,加到当前元素。更新答案。ON
阅读全文
posted @ 2016-08-30 17:35 0_summer
阅读(103)
评论(0)
推荐(0)
编辑
leetcode-Group Anagrams-49
摘要: 输入一组字符串,将有相同字符的字符串分到一组,输出分好的组 这里我用一个map<string,vector<string> >来保存一个字符串中出现的字符以及对应的分组,之后拷贝到vector<vector<string> >中返回即可
阅读全文
posted @ 2016-08-30 17:29 0_summer
阅读(191)
评论(0)
推荐(0)
编辑
上一页
1
2
3
4
5
6
7
下一页
公告