- 提供了一个生成新的初始化 README.md,可以直接用新的进行进度自测
cd 初始化脚本
node ./初始化脚本/index.js
- 冒泡排序
- 选择排序
- 插入排序
- 快速排序
- 手写深拷贝
- 手写事件总线
- 手写防抖 debounce (货拉拉)
- 手写节流 throttle
- 手写 call
- 手写 apply
- 手写 bind
- js 任意两个小数相加
- 手写 instanceof
-
哈希表
- 哈希表解题思路基本上就是新建一个对象或者 Map,然后通过存取哈希表进行解题。
- 1. 两数之和
- 49. 字母异位词分组
- 128. 最长连续序列
-
双指针
- 双指针最大的优势在于把两次遍历,压缩成一次,根据判断条件,移动指针,去掉重复的遍历。
- 283. 移动零
- 11. 盛最多水的容器
- 42. 接雨水
-
滑动窗口
- 滑动窗口的思路和双指针的思路是一样的,维护两个指针,通过根据条件移动指针,两个指针之间形成了窗口,一般还需要定一个数组保存窗口内的数据,用作下一次移动的判断
- 3. 无重复字符的最长子串
- 438. 找到字符串中所有字母异位词
-
子串
- 560. 和为 K 的子数组
- 239. 滑动窗口最大值
- 76. 最小覆盖子串
-
贪心算法
- 121. 买卖股票的最佳时机
- 55. 跳跃游戏
- 45. 跳跃游戏 II
-
动态规划
- 动态规划和贪心算法的区别
- 70. 爬楼梯
- 118. 杨辉三角
- 198. 打家劫舍
-
技巧
- 136. 只出现一次的数字
- 有机会用一下位运算
- 169. 多数元素
- 用分治法
- 75. 颜色分类
- 136. 只出现一次的数字