| 4 | Median of Two Sorted Arrays | Hard | 2028 | arraybinary-searchdivide-and-conquer |
| 10 | Regular Expression Matching | Hard | 2025 | stringdynamic-programmingrecursion |
| 23 | Merge K Sorted Lists | Hard | 1893 | linked-listdivide-and-conquerheap-priority-queue+1 |
| 25 | Reverse Nodes in k-Group | Hard | 2011 | linked-listrecursion |
| 30 | Substring with Concatenation of All Words | Hard | 2039 | hash-tablestringsliding-window |
| 32 | Longest Valid Parentheses | Hard | 2118 | stringdynamic-programmingstack |
| 37 | Sudoku Solver | Hard | 2313 | arrayhash-tablebacktracking+1 |
| 41 | First Missing Positive | Hard | 1944 | arrayhash-table |
| 42 | Trapping Rain Water | Hard | 2062 | arraytwo-pointersdynamic-programming+2 |
| 44 | Wildcard Matching | Hard | 2100 | stringdynamic-programminggreedy+1 |
| 51 | N-Queens | Hard | 1797 | arraybacktracking |
| 52 | N-Queens II | Hard | 1843 | backtracking |
| 60 | Permutation Sequence | Hard | 1953 | mathrecursion |
| 65 | Valid Number | Hard | 1892 | string |
| 68 | Text Justification | Hard | 1657 | arraystringsimulation |
| 76 | Minimum Window Substring | Hard | 1890 | hash-tablestringsliding-window |
| 84 | Largest Rectangle in Histogram | Hard | 1949 | arraystackmonotonic-stack |
| 85 | Maximal Rectangle | Hard | 2188 | arraydynamic-programmingstack+2 |
| 87 | Scramble String | Hard | 2264 | stringdynamic-programming |
| 115 | Distinct Subsequences | Hard | 1849 | stringdynamic-programming |
| 123 | Best Time to Buy and Sell Stock III | Hard | 1977 | arraydynamic-programming |
| 124 | Binary Tree Maximum Path Sum | Hard | 1807 | dynamic-programmingtreedepth-first-search+1 |
| 127 | Word Ladder | Hard | 2061 | hash-tablestringbreadth-first-search |
| 135 | Candy | Hard | 1750 | arraygreedy |
| 140 | Word Break II | Hard | 2081 | hash-tablestringdynamic-programming+3 |
| 149 | Max Points on a Line | Hard | 1978 | arrayhash-tablemath+1 |
| 188 | Best Time to Buy and Sell Stock IV | Hard | 2037 | arraydynamic-programming |
| 212 | Word Search II | Hard | 1976 | arraystringbacktracking+2 |
| 218 | The Skyline Problem | Hard | 2452 | arraydivide-and-conquerbinary-search+5 |
| 224 | Basic Calculator | Hard | 2010 | mathstringstack+1 |
| 239 | Sliding Window Maximum | Hard | 1860 | arrayqueuesliding-window+2 |
| 269 | Alien Dictionary | Hard | 1930 | arraystringdepth-first-search+3 |
| 295 | Find Median from Data Stream | Hard | 1973 | two-pointersdesignsorting+2 |
| 297 | Serialize and Deserialize Binary Tree | Hard | 1884 | stringtreedepth-first-search+3 |
| 305 | Number of Islands II | Hard | 1885 | arrayhash-tableunion-find+1 |
| 312 | Burst Balloons | Hard | 2056 | arraydynamic-programming |
| 315 | Count of Smaller Numbers After Self | Hard | 2215 | arraybinary-searchdivide-and-conquer+4 |
| 327 | Count of Range Sum | Hard | — | arraybinary-searchdivide-and-conquer+4 |
| 329 | Longest Increasing Path in a Matrix | Hard | 1965 | arraydynamic-programmingdepth-first-search+5 |
| 330 | Patching Array | Hard | 2073 | arraygreedy |
| 332 | Reconstruct Itinerary | Hard | 1858 | depth-first-searchgrapheulerian-circuit |
| 336 | Palindrome Pairs | Hard | 2311 | arrayhash-tablestring+1 |
| 352 | Data Stream as Disjoint Intervals | Hard | 1700 | binary-searchdesignordered-set |
| 381 | Insert Delete GetRandom O(1) - Duplicates allowed | Hard | — | arrayhash-tablemath+2 |
| 407 | Trapping Rain Water II | Hard | 2200 | arraybreadth-first-searchheap-priority-queue+1 |
| 410 | Split Array Largest Sum | Hard | 1856 | arraybinary-searchdynamic-programming+2 |
| 440 | K-th Smallest in Lexicographic Order | Hard | 1982 | trie |
| 460 | LFU Cache | Hard | — | hash-tablelinked-listdesign+1 |
| 472 | Concatenated Words | Hard | 1945 | arraystringdynamic-programming+2 |
| 493 | Reverse Pairs | Hard | — | arraybinary-searchdivide-and-conquer+4 |