对自己的要求
- 有一个系统的模块:每一个模块有自己的一个做题模板
- 记录做的每一道题
- 复习前一天的题目:前期1-7题 可以快速复写前几天写的题,后期8-15题晚上睡前复习当天一分钟。一星期复习一个模块
- 每一道题目精益求精:去想自己的代码哪儿些能提高,哪儿些可以借鉴别人的思路
- 培养自己bug free的思维习惯:不断地追问自己有没有bug,怎么去设计,怎么去完成
- 快:写代码快,思维快、模块很清晰
- 每天一道,风雨无阻
准备刷的专题块:
-
哈希表(按照频率刷题)
1、1:简单Leetcode第一天之两数之和(1)
2、771:简单Lettcode第二天之石头于宝石(771)
3、3:中等Leetcode第三天之无重复字符串的最长字串(3)
4、136:简单Leetcode第三天之只出现一次的数字(136)
5、535:中等Leetcode第四天之TinyURL的加密与解密(535)
6、138:中等Leetcode第五天之复制带随机指针的链表(138)第一次看到执行时间0ms,击败100%
7、85 此题归于栈模块。
8、202:简单Leetcode第六天之快乐数202
9、149此题归于枚举模块。
10、49:中等leetcade第六天之字母异位词分组49
11、463此题归于深度优先遍历模块。
12、739此题归于栈模块:中等LeetCode第十五天栈之每日温度739
13、76此题归为滑动窗口模块。
14、37此题归为深度优先遍历模块。
15、347(堆作为第二种方法):普通leetcode第七天之前K个高频元素347 -
滑动窗口
1、76:困难 LeetCode第七天之最小覆盖字串76
2、3:中等Leetcode第三天之 无重复字符串的最长字串3(滑动窗口)
3、424:中等leetcode第九天之替换后的最长重复字串424
4、438:中等Leetcode第十天之找到字符串中所有字母异位词438
利用滑动模块模板解决滑动模块题:
模板:滑动窗口模板
1、3:中等leetcode滑动窗口模板之无重复字符的最长子串3
2、76:困难leetcode滑动窗口模板之最小覆盖子串76
3、438:中等leetcode滑动窗口模板之找到字符串中所有字母异位词438
4、424:中等leetcode滑动窗口模板之替换后的最长重复字符424
5、567:中等leetcode滑动窗口模板之字符串的排列567
6、992:困难leetcode滑动窗口模板之k个不同整数的子数组992 -
栈
1、42:困难困难LeetCode第十六天栈之接雨水42多解
2、20:简单LeetCode第十三天栈之有小括号20
3、85:困难
4、155:简单LeetCode第十四栈之最小栈155
5、739:中等LeetCode第十五天栈之每日温度739- 相似题:
-496:简单LeetCode第十六天之下一个更大元素I 496
-901:普通LeetCode第十六天 栈之股票价格跨度901
-42:困难LeetCode第十六天栈之接雨水42多解
-84:困难LeetCode第十七天栈之柱状图中最大的矩形84多解
-402:中等LeetCode第十七天栈之移掉K位数字402(多解:StringBuilder&&栈)
-581:中等LeetCode第十七天栈之最短无序连续子数组581
6、173:此题归于二叉树
7、1130:此题归于二叉树
8、316:困难LeetCode第十八天栈之去除重复字母316
9、394:中等leetcode第十八天栈之字符串解码394
11、150:中等LeetCode第十九天栈之逆波兰表达式150
12、224:困难:栈做的有点要吐了,先放放,说一下,我感觉这道题就是394+150,两道题的结合!!
13、94:此题归于二叉树
14、84:困难LeetCode第十七天栈之柱状图中最大的矩形84多解 - 相似题:
-
动态规划
动态规划总结:LeetCode之 动态规划总结
1、53:简单:LeetCode动态规划一之最大子序和53
2、70:简单:LeetCode动态规划二之爬楼梯70
3、95中等:归于二叉树模块
4、5:中等:LeetCode动态规划三之最长的回文子串5
5、10:困难
6、198&&面试魔术师:中等:LeetCode动态规划四之打家劫舍198&面试题17.16.按摩师
7、392:简单:LeetCode动态规划五之判断子序列392
8、96:中等:
9、64:中等:
10、85:困难:
11、121:简单:
12、309:中等:
13、546:困难:
14、120:中等:
15、312:困难: -
数组
1、1:简单LeetCode数组一之两数之和1
2、4:困难
3、11:中等
4、42:困难
5、53:简单LeetCode数组二之最大子序和53
6、15:中等
7、121:简单
8、238:中等
9、561:简单
10、85:困难
11、169:简单
12、66:简单
13、88:简单
14、283:简单
15、16:中等 -
二分查找
1、4
2、50
3、33
4、167
5、287
6、315
7、349
8、29
9、153
10、240
11、222
12、327
13、69
14、378
15、410 -
链表
1、2
2、21
3、206
4、23
5、237
6、148
7、1388
8、141
9、24
10、234
11、445
12、147
13、143
14、92
15、25 -
树/二叉树
1、104
2、226
3、96
4、617
5、173
6、1130
7、108
8、297
9、100
10、105
11、95
12、124
13、654
14、669
15、99 -
深度优先遍历
1、200
2、104
3、1192
4、108
5、301
6、394
7、100
8、105
9、695
10、959
11、124
12、99
13、979
14、199
15、110 -
广度优先遍历
1、200
2、279
3、301
4、199
5、101
6、127
7、102
8、407
9、133
10、107
11、103
12、126
13、773
14、994
15、207 -
回溯法
1、22
2、17
3、46
4、10
5、39
6、37
7、79
8、78
9、51
10、93
11、89
12、357
13、131
14、140
15、77 -
排序
1、148
2、56
3、147
4、315
5、349
6、179
7、253
8、164
9、242
10、220
11、75
12、280
13、327
14、973
15、324 -
字符串
1、5:中等
2、20:简单
3、937:简单
4、3:中等
5、273:困难
6、22:中等
7、1249:中等
8、68:困难
9、49:中等
10、415:简单
11、76:困难
12、10:困难
13、17:中等
14、91:中等
15、6:中等 -
双指针
1、11
2、344
3、3
4、42
5、15
6、141
7、88
8、283
9、16
10、234
11、26
12、76
13、27
14、167
15、18