Practice LeetCode problems and record my logical thinking and analysis of space and runtime complexity.
# | Title | Difficulty | Tags |
---|---|---|---|
2 | Add Two Numbers | Medium | Math Recursion Linked List |
3 | Longest Substring Without Repeating Characters | Medium | String Hash Table Sliding Window |
6 | Zigzag Conversion | Medium | String |
11 | Container With Most Water | Medium | Array Greedy Two Pointers |
12 | Integer to Roman | Medium | Math String Hash Table |
13 | Roman to Integer | Easy | Math String Hash Table |
14 | Longest Common Prefix | Easy | Trie String |
15 | 3Sum | Medium | Array Sorting Two Pointers |
19 | Remove Nth Node From End of List | Medium | Linked List Two Pointers |
20 | Valid Parentheses | Easy | Stack String |
21 | Merge Two Sorted Lists | Easy | Recursion Linked List |
26 | Remove Duplicates from Sorted Array | Easy | Array Two Pointers |
28 | Find the Index of the First Occurrence in a String | Easy | String Two Pointers String Matching |
36 | Valid Sudoku | Medium | Array Matrix Hash Table |
45 | Jump Game II | Medium | Array Greedy Dynamic Programming |
48 | Rotate Image | Medium | Math Array Matrix |
49 | Group Anagrams | Medium | Array String Sorting Hash Table |
54 | Spiral Matrix | Medium | Array Matrix Simulation |
55 | Jump Game | Medium | Array Greedy Dynamic Programming |
56 | Merge Intervals | Medium | Array Sorting |
57 | Insert Interval | Medium | Array |
58 | Length of Last Word | Easy | String |
61 | Rotate List | Medium | Linked List Two Pointers |
69 | Sqrt(x) | Easy | Math Binary Search |
71 | Simplify Path | Medium | Stack String |
73 | Set Matrix Zeroes | Medium | Array Matrix Hash Table |
80 | Remove Duplicates from Sorted Array II | Medium | Array Two Pointers |
82 | Remove Duplicates from Sorted List II | Medium | Linked List Two Pointers |
86 | Partition List | Medium | Linked List Two Pointers |
88 | Merge Sorted Array | Easy | Array Sorting Two Pointers |
92 | Reverse Linked List II | Medium | Linked List |
112 | Path Sum | Easy | Tree Binary Tree Depth-First Search Breadth-First Search |
125 | Valid Palindrome | Easy | String Two Pointers |
128 | Longest Consecutive Sequence | Medium | Array Union Find Hash Table |
134 | Gas Station | Medium | Array Greedy |
138 | Copy List with Random Pointer | Medium | Hash Table Linked List |
141 | Linked List Cycle | Easy | Hash Table Linked List Two Pointers |
150 | Evaluate Reverse Polish Notation | Medium | Math Array Stack |
151 | Reverse Words in a String | Medium | String Two Pointers |
155 | Min Stack | Medium | Stack Design |
167 | Two Sum II - Input Array Is Sorted | Medium | Array Two Pointers Binary Search |
189 | Rotate Array | Medium | Array Math Two Pointers |
202 | Happy Number | Easy | Math Hash Table Two Pointers |
205 | Isomorphic Strings | Easy | String Hash Table |
209 | Minimum Size Subarray Sum | Medium | Array Prefix Sum Binary Search Sliding Window |
217 | Contains Duplicate | Easy | Array Sorting Hash Table |
219 | Contains Duplicate II | Easy | Array Hash Table Sliding Window |
228 | Summary Ranges | Easy | Array |
238 | Product of Array Except Self | Medium | Array Prefix Sum |
242 | Valid Anagram | Easy | String Sorting Hash Table |
268 | Missing Number | Easy | Array Math Sorting Hash Table Binary Search Bit Manipulation |
289 | Game of Life | Medium | Array Matrix Simulation |
290 | Word Pattern | Easy | String Hash Table |
380 | Insert Delete GetRandom O(1) | Medium | Array Math Design Hash Table Randomized |
383 | Ransom Note | Easy | Hash Table String Counting |
392 | Is Subsequence | Easy | String Two Pointers Dynamic Programming |
452 | Minimum Number of Arrows to Burst Balloons | Medium | Array Greedy Sorting |
637 | Average of Levels in Binary Tree | Easy | Tree Binary Tree Depth-First Search Breadth-First Search |
704 | Binary Search | Easy | Array Binary Search |
1351 | Count Negative Numbers in a Sorted Matrix | Easy | Array Matrix Binary Search |
2529 | Maximum Count of Positive Integer and Negative Integer | Easy | Array Counting Binary Search |