| Problem | Difficulty | Note |
|---|---|---|
| 705. Design HashSet | Easy | Fundamental implementation of hash table. |
| 706. Design HashMap | Medium | Similar solution to 705. Design HashSet, might skip it. |
| 535. Encode and Decode TinyURL | Medium | Bidirectional mapping. |
| 380. Insert Delete GetRandom O(1) | Medium | Hash table + list + critical implementation details in remove(). |
| 381. Insert Delete GetRandom O(1) - Duplicates allowed | Hard | HashMap<Int, Set> + list + critical implementation details in remove(). |
| 355. Design Twitter | Medium | Hash table + Heap (Pull Mode) |
| 1396. Design Underground System | Medium (1464) | Hash table for check-in and route tracking. |
| 146. LRU Cache | Medium | Hash table + Doubly linked list for O(1) update/evict. |
| Problem | Difficulty | Note |
|---|---|---|
| 1. Two Sum | Easy | Hash table for seen, enumerate to find complement. |
| 1679. Max Number of K-Sum Pairs | Medium (1345) | Variant of 1. Two Sum |
| 1346. Check If N and Its Double Exist | Easy (1225) | Check n / 2 and n * 2. |
| 633. Sum of Square Numbers | Medium | Binary search or two pointers or hash table. |
| 532. K-diff Pairs in an Array | Medium | Check n - k and n + k or n + k only. |
| 923. 3Sum With Multiplicity | Medium (1710) | (15. 3Sum two pointers) or (1. Two Sum hash table technique). |
| 128. Longest Consecutive Sequence | Medium | Set + expand only when n - 1 not exists. |
| 36. Valid Sudoku | Medium | Row, column, sub-box check. |
- Solved: https://leetcode.com/problems/jewels-and-stones/description/ 1164
- Solved: https://leetcode.com/problems/largest-substring-between-two-equal-characters/description/ 1281
- Solved: https://leetcode.com/problems/most-common-word/description/ 1297
- Solved: https://leetcode.com/problems/path-crossing/description/ e 1508
| Problem | Difficulty | Note |
|---|---|---|
| 217. Contains Duplicate | Easy | Set for seen. |
| 219. Contains Duplicate II | Easy | Sliding window [i - k, i] |
| Problem | Difficulty | Note |
|---|---|---|
| 242. Valid Anagram | Easy | |
| 169. Majority Element | Easy | Vote count. |
| 697. Degree of an Array | Easy | |
| 1002. Find Common Characters | Easy | Min freq map across all strings. |
| 554. Brick Wall | Medium | Count edge position frequency. |
| 916. Word Subsets | Medium (1624) | Max freq map for B, check A >= B. |
- https://leetcode.com/problems/number-of-good-pairs/description/ 1160
- https://leetcode.com/problems/ransom-note/description/ e
- https://leetcode.com/problems/first-unique-character-in-a-string/description/ e
- https://leetcode.com/problems/longest-harmonious-subsequence/description/ e
- https://leetcode.com/problems/make-two-arrays-equal-by-reversing-subarrays/description/ 1151
- https://leetcode.com/problems/find-lucky-integer-in-an-array/description/ 1118
- https://leetcode.com/problems/how-many-numbers-are-smaller-than-the-current-number/description/ 1152
- https://leetcode.com/problems/unique-number-of-occurrences/description/ 1195
- https://leetcode.com/problems/maximum-number-of-balloons/description/ 1181
- https://leetcode.com/problems/check-if-the-sentence-is-pangram/description/ 1166
- https://leetcode.com/problems/n-repeated-element-in-size-2n-array/description/ 1161
- https://leetcode.com/problems/sum-of-unique-elements/description 1228
- https://leetcode.com/problems/find-common-characters/description/ 1279
- https://leetcode.com/problems/check-if-one-string-swap-can-make-strings-equal/description/ 1300
- Solved: https://leetcode.com/problems/redistribute-characters-to-make-all-strings-equal/description/ 1309
- Solved: https://leetcode.com/problems/minimum-number-of-steps-to-make-two-strings-anagram/description/ 1330
- https://leetcode.com/problems/second-largest-digit-in-a-string/description/ 1341
- https://leetcode.com/problems/subdomain-visit-count/description/ 1377
| Problem | Difficulty | Note |
|---|---|---|
| 290. Word Pattern | Easy | Bidirectional mapping. |
| 49. Group Anagrams | Medium | Sort or count as key. |
| Problem | Difficulty | Note |
|---|---|---|
| 138. Copy List with Random Pointer | Medium | Map old -> new. |
| 133. Clone Graph | Medium | Map old -> new. |
| Problem | Difficulty | Key Difference |
|---|---|---|
| 41. First Missing Positive | Hard | Finds the smallest missing positive; range is [1..n] |
| 442. Find All Duplicates in an Array | Medium | Find all elements that appear twice; range is [1..n] |
| 448. Find All Numbers Disappeared in an Array | Easy | Find all numbers missing from [1..n] |
| 645. Set Mismatch | Easy | One number duplicated, one missing; range is [1..n] |
| 268. Missing Number | Easy | One number missing from [0..n] |
| 287. Find the Duplicate Number | Medium | Range: nums.length == n+1, values in [1..n]; exactly one duplicate |
- 535. Encode and Decode TinyURL
- 380. Insert Delete GetRandom O(1)
- 381. Insert Delete GetRandom O(1) - Duplicates allowed
- 381. Insert Delete GetRandom O(1) - Duplicates allowed
- 355. Design Twitter
- 146. LRU Cache
- 460. LFU Cache
- 532. K-diff Pairs in an Array
- 128. Longest Consecutive Sequence
- 290. Word Pattern
- 133. Clone Graph
- 923. 3Sum With Multiplicity
- 49. Group Anagrams
- 41. First Missing Positive
The following problems are not covered in the problem listing.
- 3448. Count Substrings Divisible By Last Digit
- 2488. Count Subarrays With Median K
- 2950. Number of Divisible Substrings
- 2949. Count Beautiful Substrings II
- 2025. Maximum Number of Ways to Partition an Array
- 1915. Number of Wonderful Substrings
- 1658. Minimum Operations to Reduce X to Zero
- 1590. Make Sum Divisible by P
- 1542. Find Longest Awesome Substring
- 1524. Number of Sub-arrays With Odd Sum