High Frequency
API Design/System Design
146. LRU Cache
REDO: 460. LFU Cache
295. Find Median from Data Stream
380. Insert Delete GetRandom O(1)
981. Time Based Key-Value Store
TODO: 362. Design Hit Counter
TODO: 227. Basic Calculator II
TODO: 642. Design Search Autocomplete System
Array
TODO: 759. Employee Free Time
TODO: 239. Sliding Window Maximum
15. 3Sum
TODO: 16. 3Sum Closest
238. Product of Array Except Self
TODO: 31. Next Permutation
REDO: 346. Moving Average from Data Stream: Sliding Window + Previous Sum
REDO: 560. Subarray Sum Equals K: Prefix Sum
Sort:
Pointers:
283. Move Zeroes
REDO: 75. Sort Colors
27. Remove Element
26. Remove Duplicates from Sorted Array
80. Remove Duplicates from Sorted Array II
Scenes:
11. Container With Most Water
TODO: 42. Trapping Rain Water
1762. Buildings With an Ocean View
1570. Dot Product of Two Sparse Vectors
TODO: 218. The Skyline Problem
Intervals:
56. Merge Intervals
57. Insert Interval
252. Meeting Rooms
253. Meeting Rooms II
REDO: 163. Missing Ranges
TODO: 435. Non-overlapping Intervals
Hash Table:
128. Longest Consecutive Sequence
Matrix:
TODO: 36. Valid Sudoku
Greedy:
134. Gas Station
REDO: 621. Task Scheduler
REDO: 406. Queue Reconstruction by Height
Backtracking:
REDO: 39. Combination Sum
REDO: 301. Remove Invalid Parentheses
REDO: 282. Expression Add Operators: Backtracking (DFS)
131. Palindrome Partitioning
Math:
TODO: 50. Pow(x, n)
Others:
189. Rotate Array
TODO: 525. Contiguous Array
String
REDO: 157. Read N Characters Given Read4
REDO: 158. Read N Characters Given Read4 II - Call multiple times
REDO: 205. Isomorphic Strings
TODO: 647. Palindromic Substrings
REDO: 271. Encode and Decode Strings
REDO: 408. Valid Word Abbreviation
REDO: 388. Longest Absolute File Path
REDO: 246. Strobogrammatic Number
REDO: 247. Strobogrammatic Number II
REDO: 13. Roman to Integer: String
REDO: 12. Integer to Roman: String
TODO: 273. Integer to English Words
Sliding window:
REDO: 76. Minimum Window Substring
REDO: 438. Find All Anagrams in a String
REDO: 3. Longest Substring Without Repeating Characters
REDO: 30. Substring with Concatenation of All Words
REDO: 159. Longest Substring with At Most Two Distinct Characters
TODO: 340. Longest Substring with At Most K Distinct Characters
Binary Search
704. Binary Search
4. Median of Two Sorted Arrays
33. Search in Rotated Sorted Array
REDO: 34. Find First and Last Position of Element in Sorted Array
REDO: 278. First Bad Version
TODO: 81. Search in Rotated Sorted Array II
TODO: 153. Find Minimum in Rotated Sorted Array
Linked List
K-way merge:
Heap
347. Top K Frequent Elements
215. Kth Largest Element in an Array
973. K Closest Points to Origin
Stack
150. Evaluate Reverse Polish Notation
REDO: 84. Largest Rectangle in Histogram
REDO: 739. Daily Temperatures
REDO: 32. Longest Valid Parentheses
REDO: 394. Decode String
REDO: 735. Asteroid Collision
Graph
DFS Recursion:
79. Word Search
212. Word Search II
200. Number of Islands
51. N-Queens
TODO: 332. Reconstruct Itinerary
BFS:
127. Word Ladder
TODO: 126. Word Ladder II
542. 01 Matrix
TODO: 417. Pacific Atlantic Water Flow
733. Flood Fill
Connectivity:
130. Surrounded Regions
200. Number of Islands
286. Walls and Gates
Topology Sorting:
269. Alien Dictionary
207. Course Schedule
Skiplist/Graph copy:
138. Copy List with Random Pointer
133. Clone Graph
Tree
REDO: 98. Validate Binary Search Tree
TODO: 426. Convert Binary Search Tree to Sorted Doubly Linked List
Tree Path:
112. Path Sum
113. Path Sum II
REDO: 129. Sum Root to Leaf Numbers
REDO: 437. Path Sum III
124. Binary Tree Maximum Path Sum
TODO: 687. Longest Univalue Path
TODO: 543. Diameter of Binary Tree
Serialization and Deserialization of Tree:
103. Binary Tree Zigzag Level Order Traversal
297. Serialize and Deserialize Binary Tree
449. Serialize and Deserialize BST
428. Serialize and Deserialize N-ary Tree
TODO: 105. Construct Binary Tree from Preorder and Inorder Traversal
TODO: 106. Construct Binary Tree from Inorder and Postorder Traversal
270. Closest Binary Search Tree Value
TODO: 272. Closest Binary Search Tree Value II
LCA:
235. Lowest Common Ancestor of a Binary Search Tree
236. Lowest Common Ancestor of a Binary Tree
Dynamic Programming
121. Best Time to Buy and Sell Stock
53. Maximum Subarray
91. Decode Ways
55. Jump Game
45. Jump Game II
62. Unique Paths
198. House Robber
213. House Robber II
139. Word Break. *
*140. Word Break II
72. Edit Distance
161. One Edit Distance
221. Maximal Square
279. Perfect Squares
TODO: 377. Combination Sum IV
TODO: 303. Range Sum Query - Immutable
TODO: 523. Continuous Subarray Sum
Longest Common Substring:
300. Longest Increasing Subsequence
1143. Longest Common Subsequence
Palindromic:
647. Palindromic Substrings: String, DP similar
TODO: 516. Longest Palindromic Subsequence
REDO: 5. Longest Palindromic Substring
Knapsack:
416. Partition Equal Subset Sum
322. Coin Change
494. Target Sum
Advanced
Trie:
208. Implement Trie (Prefix Tree)
211. Add and Search Word - Data structure design
Segment Tree: