Coding
Checklist
Array & String
- Two Pointers
- Sliding Window
- Prefix Sum
- Binary Search (upper limit, lower limit)
Hashing
- HashMap
- HashSet
- Frequency Counter
Stack & Queue
- Stack / Monotonic Stack
- Queue / Deque
- Min/Max Stack
Linked List
- Fast and Slow Pointers
- Reverse Linked List
- Detect Cycle
Tree
- DFS (Preorder / Inorder / Postorder)
- BFS (Level Order)
- Recursive Tree Traversal
- Binary Search Tree
Graph
- BFS
- DFS
- Union Find / Disjoint Set
- Topological Sort (Kahn’s Algorithm, DFS)
- Dijkstra's Algorithm
Recursion & Backtracking
- Subsets / Permutations / Combinations
- N-Queens
- Sudoku Solver
- Word Search
Heap & Priority Queue
- Min Heap / Max Heap
- Kth Largest / Smallest
- Median Finder
Dynamic Programming
- Longest Increasing Subsequence
- Longest Common Subsequence
- DP on Grid
- Memoization + Tabulation
Greedy
- Interval Scheduling
- Jump Game
Learning Resources
English
Chinese