| 0005 | Longest Palindromic Substring | Two Pointers, String, Dynamic Programming |
| 0022 | Generate Parentheses | String, Dynamic Programming, Backtracking |
| 0045 | Jump Game II | Greedy, Array, Dynamic Programming |
| 0053 | Maximum Subarray | Array, Divide and Conquer, Dynamic Programming |
| 0055 | Jump Game | Greedy, Array, Dynamic Programming |
| 0062 | Unique Paths | Math, Dynamic Programming, Combinatorics |
| 0063 | Unique Paths II | Array, Dynamic Programming, Matrix |
| 0064 | Minimum Path Sum | Array, Dynamic Programming, Matrix |
| 0072 | Edit Distance | String, Dynamic Programming |
| 0091 | Decode Ways | String, Dynamic Programming |
| 0095 | Unique Binary Search Trees II | Tree, Binary Search Tree, Dynamic Programming +2 |
| 0096 | Unique Binary Search Trees | Tree, Binary Search Tree, Math +2 |
| 0097 | Interleaving String | String, Dynamic Programming |
| 0120 | Triangle | Array, Dynamic Programming |
| 0122 | Best Time to Buy and Sell Stock II | Greedy, Array, Dynamic Programming |
| 0131 | Palindrome Partitioning | String, Dynamic Programming, Backtracking |
| 0139 | Word Break | Trie, Memoization, Array +3 |
| 0152 | Maximum Product Subarray | Array, Dynamic Programming |
| 0198 | House Robber | Array, Dynamic Programming |
| 0213 | House Robber II | Array, Dynamic Programming |
| 0221 | Maximal Square | Array, Dynamic Programming, Matrix |
| 0241 | Different Ways to Add Parentheses | Recursion, Memoization, Math +2 |
| 0264 | Ugly Number II | Hash Table, Math, Dynamic Programming +1 |
| 0279 | Perfect Squares | Breadth-First Search, Math, Dynamic Programming |
| 0300 | Longest Increasing Subsequence | Array, Binary Search, Dynamic Programming |
| 0309 | Best Time to Buy and Sell Stock with Cooldown | Array, Dynamic Programming |
| 0313 | Super Ugly Number | Array, Math, Dynamic Programming |
| 0322 | Coin Change | Breadth-First Search, Array, Dynamic Programming |
| 0337 | House Robber III | Tree, Depth-First Search, Dynamic Programming +1 |
| 0343 | Integer Break | Math, Dynamic Programming |
| 0357 | Count Numbers with Unique Digits | Math, Dynamic Programming, Backtracking |
| 0368 | Largest Divisible Subset | Array, Math, Dynamic Programming +1 |
| 0375 | Guess Number Higher or Lower II | Math, Dynamic Programming, Game Theory |
| 0376 | Wiggle Subsequence | Greedy, Array, Dynamic Programming |
| 0377 | Combination Sum IV | Array, Dynamic Programming |
| 0396 | Rotate Function | Array, Math, Dynamic Programming |
| 0397 | Integer Replacement | Greedy, Bit Manipulation, Memoization +1 |
| 0413 | Arithmetic Slices | Array, Dynamic Programming, Sliding Window |
| 0416 | Partition Equal Subset Sum | Array, Dynamic Programming |
| 0435 | Non-overlapping Intervals | Greedy, Array, Dynamic Programming +1 |
| 0464 | Can I Win | Bit Manipulation, Memoization, Math +3 |
| 0467 | Unique Substrings in Wraparound String | String, Dynamic Programming |
| 0473 | Matchsticks to Square | Bit Manipulation, Array, Dynamic Programming +2 |
| 0474 | Ones and Zeroes | Array, String, Dynamic Programming |
| 0486 | Predict the Winner | Recursion, Array, Math +2 |
| 0494 | Target Sum | Array, Dynamic Programming, Backtracking |
| 0516 | Longest Palindromic Subsequence | String, Dynamic Programming |
| 0518 | Coin Change II | Array, Dynamic Programming |
| 0526 | Beautiful Arrangement | Bit Manipulation, Array, Dynamic Programming +2 |
| 0542 | 01 Matrix | Breadth-First Search, Array, Dynamic Programming +1 |
| 0553 | Optimal Division | Array, Math, Dynamic Programming |
| 0576 | Out of Boundary Paths | Dynamic Programming |
| 0583 | Delete Operation for Two Strings | String, Dynamic Programming |
| 0638 | Shopping Offers | Bit Manipulation, Memoization, Array +3 |
| 0646 | Maximum Length of Pair Chain | Greedy, Array, Dynamic Programming +1 |
| 0647 | Palindromic Substrings | Two Pointers, String, Dynamic Programming |
| 0650 | 2 Keys Keyboard | Math, Dynamic Programming |
| 0673 | Number of Longest Increasing Subsequence | Binary Indexed Tree, Segment Tree, Array +1 |
| 0678 | Valid Parenthesis String | Stack, Greedy, String +1 |
| 0688 | Knight Probability in Chessboard | Dynamic Programming |
| 0698 | Partition to K Equal Sum Subsets | Bit Manipulation, Memoization, Array +3 |
| 0712 | Minimum ASCII Delete Sum for Two Strings | String, Dynamic Programming |
| 0714 | Best Time to Buy and Sell Stock with Transaction Fee | Greedy, Array, Dynamic Programming |
| 0718 | Maximum Length of Repeated Subarray | Array, Binary Search, Dynamic Programming +3 |
| 0740 | Delete and Earn | Array, Hash Table, Dynamic Programming |
| 0764 | Largest Plus Sign | Array, Dynamic Programming |
| 0787 | Cheapest Flights Within K Stops | Depth-First Search, Breadth-First Search, Graph +3 |
| 0788 | Rotated Digits | Math, Dynamic Programming |
| 0790 | Domino and Tromino Tiling | Dynamic Programming |
| 0792 | Number of Matching Subsequences | Trie, Array, Hash Table +4 |
| 0799 | Champagne Tower | Dynamic Programming |
| 0808 | Soup Servings | Math, Dynamic Programming, Probability and Statistics |
| 0813 | Largest Sum of Averages | Array, Dynamic Programming, Prefix Sum |
| 0823 | Binary Trees With Factors | Array, Hash Table, Dynamic Programming +1 |
| 0837 | New 21 Game | Math, Dynamic Programming, Sliding Window +1 |
| 0838 | Push Dominoes | Two Pointers, String, Dynamic Programming |
| 0845 | Longest Mountain in Array | Array, Two Pointers, Dynamic Programming +1 |
| 0873 | Length of Longest Fibonacci Subsequence | Array, Hash Table, Dynamic Programming |
| 0877 | Stone Game | Array, Math, Dynamic Programming +1 |
| 0894 | All Possible Full Binary Trees | Tree, Recursion, Memoization +2 |
| 0898 | Bitwise ORs of Subarrays | Bit Manipulation, Array, Dynamic Programming |
| 0907 | Sum of Subarray Minimums | Stack, Array, Dynamic Programming +1 |
| 0918 | Maximum Sum Circular Subarray | Queue, Array, Divide and Conquer +2 |
| 0926 | Flip String to Monotone Increasing | String, Dynamic Programming |
| 0931 | Minimum Falling Path Sum | Array, Dynamic Programming, Matrix |
| 0935 | Knight Dialer | Dynamic Programming |
| 0978 | Longest Turbulent Subarray | Array, Dynamic Programming, Sliding Window |
| 0983 | Minimum Cost For Tickets | Array, Dynamic Programming |
| 1014 | Best Sightseeing Pair | Array, Dynamic Programming |
| 1024 | Video Stitching | Greedy, Array, Dynamic Programming |
| 1027 | Longest Arithmetic Subsequence | Array, Hash Table, Binary Search +1 |
| 1031 | Maximum Sum of Two Non-Overlapping Subarrays | Array, Dynamic Programming, Sliding Window |
| 1035 | Uncrossed Lines | Array, Dynamic Programming |
| 1039 | Minimum Score Triangulation of Polygon | Array, Dynamic Programming |
| 1043 | Partition Array for Maximum Sum | Array, Dynamic Programming |
| 1048 | Longest String Chain | Array, Hash Table, Two Pointers +3 |
| 1049 | Last Stone Weight II | Array, Dynamic Programming |
| 1105 | Filling Bookcase Shelves | Array, Dynamic Programming |
| 1130 | Minimum Cost Tree From Leaf Values | Stack, Greedy, Array +2 |
| 1139 | Largest 1-Bordered Square | Array, Dynamic Programming, Matrix |
| 1140 | Stone Game II | Array, Math, Dynamic Programming +2 |
| 1143 | Longest Common Subsequence | String, Dynamic Programming |
| 1155 | Number of Dice Rolls With Target Sum | Dynamic Programming |
| 1162 | As Far from Land as Possible | Breadth-First Search, Array, Dynamic Programming +1 |
| 1186 | Maximum Subarray Sum with One Deletion | Array, Dynamic Programming |
| 1191 | K-Concatenation Maximum Sum | Array, Dynamic Programming |
| 1218 | Longest Arithmetic Subsequence of Given Difference | Array, Hash Table, Dynamic Programming |
| 1227 | Airplane Seat Assignment Probability | Brainteaser, Math, Dynamic Programming +1 |
| 1262 | Greatest Sum Divisible by Three | Greedy, Array, Dynamic Programming +1 |
| 1277 | Count Square Submatrices with All Ones | Array, Dynamic Programming, Matrix |
| 1334 | Find the City With the Smallest Number of Neighbors at a Threshold Distance | Graph, Dynamic Programming, Shortest Path |