Skip to content

Chiaki-xps/algorithm-review

Repository files navigation

算法准备

初始化脚本

  • 提供了一个生成新的初始化 README.md,可以直接用新的进行进度自测
cd 初始化脚本

node ./初始化脚本/index.js

排序

  • 冒泡排序
  • 选择排序
  • 插入排序
  • 快速排序

js 手写题目

  • 手写深拷贝
  • 手写事件总线
  • 手写防抖 debounce (货拉拉)
  • 手写节流 throttle
  • 手写 call
  • 手写 apply
  • 手写 bind
  • js 任意两个小数相加
  • 手写 instanceof

leetcode 100

  • 哈希表

    • 哈希表解题思路基本上就是新建一个对象或者 Map,然后通过存取哈希表进行解题。
    • 1. 两数之和
    • 49. 字母异位词分组
    • 128. 最长连续序列
  • 双指针

    • 双指针最大的优势在于把两次遍历,压缩成一次,根据判断条件,移动指针,去掉重复的遍历。
    • 283. 移动零
    • 11. 盛最多水的容器
    • 42. 接雨水
  • 滑动窗口

    • 滑动窗口的思路和双指针的思路是一样的,维护两个指针,通过根据条件移动指针,两个指针之间形成了窗口,一般还需要定一个数组保存窗口内的数据,用作下一次移动的判断
    • 3. 无重复字符的最长子串
    • 438. 找到字符串中所有字母异位词
  • 子串

    • 560. 和为 K 的子数组
    • 239. 滑动窗口最大值
    • 76. 最小覆盖子串
  • 贪心算法

    • 121. 买卖股票的最佳时机
    • 55. 跳跃游戏
    • 45. 跳跃游戏 II
  • 动态规划

    • 动态规划和贪心算法的区别
    • 70. 爬楼梯
    • 118. 杨辉三角
    • 198. 打家劫舍
  • 技巧

    • 136. 只出现一次的数字
      • 有机会用一下位运算
    • 169. 多数元素
      • 用分治法
    • 75. 颜色分类

About

算法准备

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published