16种模式:
- 滑动窗口 sliding window (单调队列和单调栈?)
- 双指针 two pointers
- 快慢指针 fast&slow pointers
- 区间合并 merge intervals (扫描线,线段树?)
- 循环排序 cyclic sort
- 原地反转链表 in-place reversal of linkedlist
- 树上的BFS tree breadth first search
- 树上的DFS tree depth first search
- 双堆 two heaps
- 子集 subsets
- 变种二分 modified binary search
- 位运算异或 bitwise XOR
- 最大前K个元素 top ‘K’ elements
- K-路归并 K-way merge
- 0/1 背包(动态规划) 0/1 knapsack (dynamic programming)
- 拓扑排序 topological sort (graph)