# algorithm-notes **Repository Path**: jeth123/algorithm-notes ## Basic Information - **Project Name**: algorithm-notes - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-05-12 - **Last Updated**: 2022-05-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # leetcode notes 记录一个小前端的正规化重学算法成长史 🏄 --- ### `个人计划` **第一阶段** - [x] 梳理全部知识点概念 `(13/13)` - [x] 基础点实践 `(12/12)` **第二阶段** - [x] 数据结构定向刷题 **第三阶段** - [ ] 算法设计及技巧定向刷题 --- ### `第一阶段` 知识梳理 - [x] 算法复杂度 [`Docs & Example`](./first-stage/complexity/README.md) - [x] 栈 [`Docs & Example`](./first-stage/stack/README.md) - [x] 队列和双端队列 [`Docs & Example`](./first-stage/queue/README.md) - [x] 链表 [`Docs & Example`](./first-stage/linked-list/README.md) - [x] 集合 [`Docs & Example`](./first-stage/set/README.md) - [x] 字典 [`Docs & Example`](./first-stage/dictionary/README.md) - [x] 散列表 [`Docs & Example`](./first-stage/hash-table/README.md) - [x] 递归 [`Docs & Example`](./first-stage/recursive/README.md) - [x] 树 [`Docs & Example`](./first-stage/tree/README.md) - [x] 二查堆和堆排序 [`Docs & Example`](./first-stage/heap/README.md) - [x] 图 [`Docs & Example`](./first-stage/graph/README.md) - [x] 排序和搜索算法 [`Sorting Docs & Example`](./first-stage/sorting-search-algorithm/sorting/README.md) [`Search Docs & Example`](./first-stage/sorting-search-algorithm/search/README.md) - [x] 算法设计与技巧 [`Docs & Example`](./first-stage/algorithm-design/README.md) --- ### `第二阶段` > 数据结构定向刷题 **栈** - [`leetcode#20.有效的括号`](./second-stage/stack/leetcode20.md) - [`leetcode#155.最小栈`](./second-stage/stack/leetcode155.md) - [`leetcode#232.用栈实现队列`](./second-stage/stack/leetcode232.md) - [`leetcode#678.有效的括号字符串`](./second-stage/stack/leetcode678.md) - [`leetcode#682.棒球比赛`](./second-stage/stack/leetcode682.md) **队列和双端队列** - [`leetcode#933.最近的请求次数`](./second-stage/queue/leetcode933.md) - [`leetcode#225.用队列实现栈`](./second-stage/queue/leetcode225.md) - [`leetcode#346.数据流中的移动平均值`](./second-stage/queue/leetcode346.md) - [`leetcode#387.字符串中的第一个唯一字符`](./second-stage/queue/leetcode387.md) - [`leetcode#1700.无法吃午餐的学生数量`](./second-stage/queue/leetcode1700.md) - [`leetcode#622.设计循环队列`](./second-stage/queue/leetcode622.md) - [`leetcode#286.墙与门`](./second-stage/queue/leetcode286.md) - [`leetcode#200.岛屿数量`](./second-stage/queue/leetcode200.md) - [`leetcode#752.打开转盘锁`](./second-stage/queue/leetcode752.md) - [`leetcode#279.完全平方数`](./second-stage/queue/leetcode279.md) **链表** - [`leetcode#237.删除链表中的节点`](./second-stage/linked-list/leetcode237.md) - [`leetcode#206.反转链表`](./second-stage/linked-list/leetcode206.md) - [`leetcode#160.相交链表`](./second-stage/linked-list/leetcode160.md) - [`leetcode#234.回文链表`](./second-stage/linked-list/leetcode234.md) - [`leetcode#203.移除链表元素`](./second-stage/linked-list/leetcode203.md) - [`leetcode#83.删除排序链表中的重复元素`](./second-stage/linked-list/leetcode83.md) - [`leetcode#622.设计循环队列`](./second-stage/linked-list/leetcode622.md) **集合** - [`leetcode#349.两个数组的交集`](./second-stage/set/leetcode349.md) - [`leetcode#1507.转变日期格式`](./second-stage/set/leetcode1507.md) - [`leetcode#705.设计哈希集合`](./second-stage/set/leetcode705.md) **字典** - [`leetcode#1.两数之和`](./second-stage/dictionary/leetcode1.md) - [`剑指Offer#03.数组中重复的数字`](./second-stage/dictionary/剑指Offer03.md) **散列表/哈希表** - [`leetcode#217.存在重复元素`](./second-stage/hash-table/leetcode217.md) - [`leetcode#13.罗马数字转整数`](./second-stage/hash-table/leetcode13.md) - [`leetcode#141.环形链表`](./second-stage/hash-table/leetcode141.md) **递归** - [`leetcode#206.反转链表`](./second-stage/recursive/leetcode206.md) - [`leetcode#101.对称二叉树`](./second-stage/recursive/leetcode101.md) - [`leetcode#21.合并两个有序链表`](./second-stage/recursive/leetcode21.md) **树** - [`leetcode#111.二叉树的最小深度`](./second-stage/tree/leetcode111.md) - [`leetcode#100.相同的树`](./second-stage/tree/leetcode100.md) - [`leetcode#94.二叉树的中序遍历`](./second-stage/tree/leetcode94.md) - [`leetcode#104.二叉树的最大深度`](./second-stage/tree/leetcode104.md) - [`leetcode#102.二叉树的层序遍历`](./second-stage/tree/leetcode102.md) **堆** - [`leetcode#215.数组中的第 K 个最大元素`](./second-stage/heap/leetcode215.md) - [`leetcode#1046.最后一块石头的重量`](./second-stage/heap/leetcode1046.md) - [`leetcode#347.前 K 个高频元素`](./second-stage/heap/leetcode347.md) - [`leetcode#23.合并 K 个升序链表`](./second-stage/heap/leetcode23.md) **图** - [`leetcode#1791.找出星型图的中心节点`](./second-stage/graph/leetcode1791.md) - [`leetcode#997.找到小镇的法官`](./second-stage/graph/leetcode997.md) --- ### `第三阶段` > 算法设计及技巧定向刷题 **排序算法** - `冒泡排序`-[`leetcode#912.排序数组`](./third-stage/sorting/bubble-sort/leetcode912.md) - `选择排序`-[`leetcode#88.合并两个有序数组`](./third-stage/sorting/selection-sort/leetcode88.md) - `归并排序`-[`leetcode#148.排序链表`](./third-stage/sorting/merge-sort/leetcode148.md) - `归并排序`-[`leetcode#912.排序数组`](./third-stage/sorting/merge-sort/leetcode912.md) **搜索/查找算法** - `二分查找`-[`leetcode#704.二分查找`](./third-stage/dichotomize/leetcode704.md) - `二分查找`-[`leetcode#278.第一个错误的版本`](./third-stage/dichotomize/leetcode278.md) - `二分查找`-[`leetcode#35.搜索插入位置`](./third-stage/dichotomize/leetcode35.md) **分而治之** - [`leetcode#374.猜数字大小`](./third-stage/devide-and-conquer/leetcode374.md) **动态规划** - [`leetcode#70.爬楼梯`](./third-stage/dynamic-programming/leetcode70.md) - [`leetcode#509.斐波那契数`](./third-stage/dynamic-programming/leetcode509.md) - [`leetcode#746.使用最小花费爬楼梯`](./third-stage/dynamic-programming/leetcode746.md) - [`leetcode#198.打家劫舍`](./third-stage/dynamic-programming/leetcode198.md) **贪心算法** **回溯算法** **双指针** - `左右指针`-[`leetcode#977.有序数组的平方`](./third-stage/double-pointer/leetcode977.md) - `左右指针`-[`leetcode#189.轮转数组`](./third-stage/double-pointer/leetcode189.md) - `左右指针`-[`leetcode#167.两数之和 II - 输入有序数组`](./third-stage/double-pointer/leetcode167.md) - `左右指针`-[`leetcode#344.反转字符串`](./third-stage/double-pointer/leetcode344.md) - `左右指针`-[`leetcode#557.反转字符串中的单词 III`](./third-stage/double-pointer/leetcode557.md) - `左右指针`-[`leetcode#75.颜色分类`](./third-stage/double-pointer/leetcode75.md) - `左右指针`-[`leetcode#1446.连续字符`](./third-stage/double-pointer/leetcode1446.md) - `快慢指针`-[`leetcode#876.链表的中间结点`](./third-stage/double-pointer/leetcode876.md) - `快慢指针`-[`leetcode#19.删除链表的倒数第 N 个结点`](./third-stage/double-pointer/leetcode19.md) - `快慢指针`-[`leetcode#26.删除有序数组中的重复项`](./third-stage/double-pointer/leetcode26.md) - `快慢指针`-[`leetcode#283.移动零`](./third-stage/double-pointer/leetcode283.md) - `快慢指针`-[`leetcode#27.移除元素`](./third-stage/double-pointer/leetcode27.md) - `快慢指针`-[`leetcode#80.删除有序数组中的重复项 II`](./third-stage/double-pointer/leetcode80.md) - `滑动窗口`-[`leetcode#3.无重复字符的最长子串`](./third-stage/double-pointer/leetcode3.md) - `滑动窗口`-[`leetcode#643.子数组最大平均数 I`](./third-stage/double-pointer/leetcode643.md) - `滑动窗口`-[`leetcode#1456.定长子串中元音的最大数目`](./third-stage/double-pointer/leetcode1456.md) - `滑动窗口`-[`leetcode#1423.可获得的最大点数`](./third-stage/double-pointer/leetcode1423.md) - `滑动窗口`-[`leetcode#76.最小覆盖子串`](./third-stage/double-pointer/leetcode76.md) - `滑动窗口`-[`leetcode#209.长度最小的子数组`](./third-stage/double-pointer/leetcode209.md) - `滑动窗口`-[`leetcode#1695.删除子数组的最大得分`](./third-stage/double-pointer/leetcode1695.md) - `滑动窗口`-[`leetcode#438.找到字符串中所有字母异位词`](./third-stage/double-pointer/leetcode438.md) - `滑动窗口`-[`leetcode#567.字符串的排列`](./third-stage/double-pointer/leetcode567.md)