1.链表
2.树
3.哈希表
| 序号 | 名称 | 题解 |
|---|---|---|
| 两数之和 | LeetCode 1 | |
| 最长连续序列 | LeetCode 128 | |
| Pairs of Songs With Total Durations Divisible by 60 | 1010 | |
| Word Pattern | 290 | |
3.栈
4.双指针
快慢指针
碰撞指针:适用于已排序的数组
滑动窗口
5.动态规划
子串问题常用
6. 排序算法
| 序号 | 名称 | 题解 |
|---|---|---|
| 冒泡排序 | ||
| 快速排序 | ||
| 归并排序 | ||
| 堆排序 | ||
| 数组中的第K个最大元素 | LeetCode215 | topK问题 |
| 前 K 个高频元素 | LeetCode 347 | topK问题 |
| 最小的k个数 | 剑指 Offer 40 | |
| Lexicographical Numbers | 386 | |
| Rank Teams by Votes | 1366 | |
Priority Queue
| 序号 | 名称 | 题解 |
|---|---|---|
| Meeting Rooms II | 253 | |
| Find Median from Data Stream | 295 | |
7.位运算/数学
位运算基础知识
8.深度优先搜索
| 序号 | 名称 | 题解 |
|---|---|---|
| 岛屿数量 | LeetCode 200 | DFS/BFS |
| 岛屿的最大面积 | LeetCode 695 | DFS/BFS |
| Number of Distinct Islands | 694 | |
| 被围绕的区域 | LeetCode 130 | BFS/DFS |
| 机器人的运动范围 | 剑指 Offer 13 | |
| The Maze | 490 |
9.深度优先搜索 + 回溯
10.广度优先搜索
| 序号 | 名称 | 题解 |
|---|---|---|
| 腐烂的橘子 | LeetCode 994 | 多源BFS |
| Shortest Path in a Grid with Obstacles Elimination | LeetCode 1293 | 额外状态 |
| Word Ladder | 127 | |
| Word Ladder II | 126 | |
11.二分查找
关键词:排好序的数组,O(logN)
12.字符串
13.数组
greedy
| 序号 | 名称 | 题解 |
|---|---|---|
| Two City Scheduling | 1029 | |
| Increasing Triplet Subsequence | 334 | |
图
14.设计
多线程
| 序号 | 名称 | 题解 |
|---|---|---|
| 生产者消费者 |