| 5. Longest Palindromic Substring | Medium | Two PointersStringDynamic Programming |
| 10. Regular Expression Matching | Hard | StringDynamic ProgrammingRecursion |
| 22. Generate Parentheses | Medium | StringDynamic ProgrammingBacktracking |
| 32. Longest Valid Parentheses | Hard | StringDynamic ProgrammingStack |
| 42. Trapping Rain Water | Hard | ArrayTwo PointersDynamic Programming+2 more |
| 44. Wildcard Matching | Hard | StringDynamic ProgrammingGreedy+1 more |
| 45. Jump Game II | Medium | ArrayDynamic ProgrammingGreedy |
| 53. Maximum Subarray | Medium | ArrayDivide and ConquerDynamic Programming |
| 55. Jump Game | Medium | ArrayDynamic ProgrammingGreedy |
| 62. Unique Paths | Medium | MathDynamic ProgrammingCombinatorics |
| 63. Unique Paths II | Medium | ArrayDynamic ProgrammingMatrix |
| 64. Minimum Path Sum | Medium | ArrayDynamic ProgrammingMatrix |
| 70. Climbing Stairs | Easy | MathDynamic ProgrammingMemoization |
| 72. Edit Distance | Medium | StringDynamic Programming |
| 85. Maximal Rectangle | Hard | ArrayDynamic ProgrammingStack+2 more |
| 87. Scramble String | Hard | StringDynamic Programming |
| 91. Decode Ways | Medium | StringDynamic Programming |
| 95. Unique Binary Search Trees II | Medium | Dynamic ProgrammingBacktrackingTree+2 more |
| 96. Unique Binary Search Trees | Medium | MathDynamic ProgrammingTree+2 more |
| 97. Interleaving String | Medium | StringDynamic Programming |
| 115. Distinct Subsequences | Hard | StringDynamic Programming |
| 118. Pascal's Triangle | Easy | ArrayDynamic Programming |
| 119. Pascal's Triangle II | Easy | ArrayDynamic Programming |
| 120. Triangle | Medium | ArrayDynamic Programming |
| 121. Best Time to Buy and Sell Stock | Easy | ArrayDynamic Programming |
| 122. Best Time to Buy and Sell Stock II | Medium | ArrayDynamic ProgrammingGreedy |
| 123. Best Time to Buy and Sell Stock III | Hard | ArrayDynamic Programming |
| 124. Binary Tree Maximum Path Sum | Hard | Dynamic ProgrammingTreeDepth-First Search+1 more |
| 131. Palindrome Partitioning | Medium | StringDynamic ProgrammingBacktracking |
| 132. Palindrome Partitioning II | Hard | StringDynamic Programming |
| 139. Word Break | Medium | ArrayHash TableString+3 more |
| 140. Word Break II | Hard | ArrayHash TableString+4 more |
| 152. Maximum Product Subarray | Medium | ArrayDynamic Programming |
| 174. Dungeon Game | Hard | ArrayDynamic ProgrammingMatrix |
| 188. Best Time to Buy and Sell Stock IV | Hard | ArrayDynamic Programming |
| 198. House Robber | Medium | ArrayDynamic Programming |
| 213. House Robber II | Medium | ArrayDynamic Programming |
| 221. Maximal Square | Medium | ArrayDynamic ProgrammingMatrix |
| 233. Number of Digit One | Hard | MathDynamic ProgrammingRecursion |
| 241. Different Ways to Add Parentheses | Medium | MathStringDynamic Programming+2 more |