这个是在刷题之前的预览和汇总,比如总共就五类题,每题下面有两三道题难道最好的讲解这类题是怎么来做的
首先是通过最经典的问题来熟悉解法
- 指针
- 快慢指针
- 左右指针
- 滑动窗口
- 滑动窗口也是在快慢指针的基础上增加一点东西,通过不断修改 left/right 指针来达到调控窗口大小
- 动态规划
- 贪心算法
- 回溯
- 深度、广度
斐波那契 是最经典的动态规划,以及如何优化动态规划的题目了,参考 labuladong 的动态规划阶梯套路框架
优化的主要方向就是
- 建立缓存,这样计算过的就不用再计算,时间复杂度降低 2. 缓存从数组到只有两个变量存储就可以,空间复杂度降低