WEEK4
Day1
19. 删除链表的倒数第 N 个结点
链表题目多画图
设立哑节点会方便很多
162. 寻找峰值
找右边界
55. 跳跃游戏
其实可以更早一步做判断
45. 跳跃游戏 II
134. 加油站
Day2
15. 三数之和
8. 字符串转换整数 (atoi)
2. 两数相加
4. 寻找两个正序数组的中位数
有点难得再做几遍
43. 字符串相乘
Day3
198. 打家劫舍
简单dp
可以降低空间复杂度,用常数就可以了
213. 打家劫舍 II
学会降低维度
337. 打家劫舍 III
之前想当然隔层加了,但其实每一层并不是捆绑在一起的
152. 乘积最大子数组
279. 完全平方数
其实数学上证明至多4个
72. 编辑距离
dp[i][j]表示word1前i个 转换成 word2前j个所需要的最少操作数,以d[5][3]为例,如果word1[4] != word2[2] 那么替换操作就是 在dp[4][2]的基础上加1,可以理解前4个换成前2个已经有了,现在字符不一样,替换就好了;而删除操作 d[4][3]基础上-1;添加操作就是d[5][2]+1,看怎么理解吧删除添加反过来都行,参照物不同
Day4
22. 括号生成
回溯 再写一遍好像也没更深理解
165. 比较版本号
98. 验证二叉搜索树
递归
中序遍历 递归&&模拟栈
Day5
264. 丑数 II
注意是三个if 不能else 否则会有重复 比如23 32 都是6 对应指针都要后移
400. 第 N 位数字
172. 阶乘后的零
不明觉厉