LeetCode刷题心得 2020.4
刷了Leetcode的60题,接触了一些算法,例如动态规划、回溯,复习了二叉树,感觉到了自己的菜hahahaha。
-
动态规划
1、 最长回文字符串
2、 正则表达式匹配 此题解法真是打开新世界的大门
3、 最大子序和
4、 爬楼梯
5、 编辑距离 这道题感觉还是挺有实际意义的,和正则表达式那道题有些相似
6、 单词拆分
7、 乘积最大子数组
8、 打家劫舍
9、 丑数II
10、买卖股票的最佳时机含冷冻期 这题是一个连续剧。。。。
11、戳气球 这道是很难想到的dp,逆向思维
12、零钱兑换 这个很经典
13、俄罗斯套娃信封问题
14、剪绳子
15、剪绳子II
16、青蛙跳台阶问题 -
回溯
回溯法感觉是递归的加强版吧,不过这种由后向前的思维实在太反人类。。。
1、 N皇后问题 很经典的回溯,bug找了2小时
2、 全排列
3、 电话号码的字母组合
4、 子集
5、 机器人的运动范围
6、 矩阵中的路径
7、 岛屿数量 这题的回溯很有意思,用一个boolean 型的visited数组记录该点是否被访问过 -
贪心
贪心算法还是挺符合人类思维的,不过有时候很难证实用贪心算法是保证结果正确的,需要推导
1、分发糖果
2、无重叠区间
3、用最少的箭引爆气球
4、分发饼干 -
数组和数学
-
二叉树
学数据结构的时候觉得二叉树已经很烧脑了,与递归相辅相成
1、二叉树的最大深度
2、二叉树的最大路径和
3、翻转二叉树
4、序列化二叉树 -
其他的经典问题
回文数问题和N sum问题
1、最长回文子串
2、回文数
3、三数之和
4、两数之和
5、无重复字符的最长子串