Algorithm Practice
idx | name | category | from | answer | note |
---|---|---|---|---|---|
0 | Merging meeting times | array | Interview Cake | A | + |
1 | Reverse array in place | array | Interview Cake | A | + |
2 | Reverse words | array | Interview Cake | A | - |
3 | Merge sorted array | array | Interview Cake | A | - |
4 | Single riffle check | array | Interview Cake | A | + |
5 | Longest substring | string | LeetCode | A | - |
6 | Container with most water | array | LeetCode | A | - |
7 | Three sum | array | LeetCode | A | ! |
8 | Inflight entertainment | hash | Interview Cake | A | +! |
9 | Unique string | string | CTCI 1.1 | A | + |
10 | Check permutation | string | CTCI 1.2 | A | + |
11 | Urlify | string | CTCI 1.3 | A | - |
12 | Palindrome permutation | string | CTCI 1.4 | A | + |
13 | One away | string | CTCI 1.5 | A | + |
14 | String compression | string | CTCI 1.6 | A | + |
15 | Rotate matrix | array | CTCI 1.7 | A | + |
16 | Set matrix zeros | array | CTCI 1.8 | A | ! |
17 | String rotation | string | CTCI 1.9 | A | ! |
18 | Remove duplicates | linked list | LeetCode | A | ! |
19 | Remove nth from end | linked list | LeetCode | A | + |
20 | Delete node | linked list | LeetCode | A | + |
21 | Partition list | linked list | LeetCode | A | + |
22 | Add two numbers | linked list | LeetCode | A | + |
23 | Palindrome | linked list | LeetCode | A | ! |
24 | Intersection | linked list | LeetCode | A | ! |
25 | Loop detection | linked list | LeetCode | A | + |
26 | Next permutation | array | LeetCode | A | -! |
27 | Multiply Strings | string | LeetCode | A | + |
28 | Jump Game | array | LeetCode | A | - |
29 | Plus One | array | LeetCode | A | + |
30 | Minimum window substring | string | LeetCode | A | !! |
31 | Longest Valid Parentheses | string | LeetCode | A | - |
32 | Trapping rain water | array | LeetCode | A | -! |
33 | Valid parentheses | string | LeetCode | A | + |
34 | basic calculator | string | leetcode | A | - |
35 | decode string | string | leetcode | A | -! |
36 | min stack | array | leetcode | A | +! |
37 | queue using stacks | array | leetcode | A | + |
38 | odd even jumps | array | leetcode | A | ! |
39 | task scheduler | array | leetcode | A | ! |
40 | merge two sorted lists | linked list | leetcode | A | + |
41 | K closest points to origin | heap | leetcode | A | +! |
42 | Merge K sorted lists | heap | leetcode | A | +! |
43 | Kth largest element | heap | leetcode | A | +! |
44 | Find Median from Data Stream | heap | leetcode | A | -! |
45 | Two sum | hash | leetcode | A | ++! |
46 | Group Anagrams | hash | leetcode | A | -! |
47 | Subarray Sum Equals K | hash | leetcode | A | - |
48 | Palindrome Pairs | hash | leetcode | A | ! |
49 | Copy List with Random Pointer | hash | leetcode | A | +! |
50 | Insert Delete GetRandom O(1) | hash | leetcode | A | + |
51 | Backspace String Compare | string | leetcode | A | +- |
52 | Maximal Rectangle | array | leetcode | A | - |
53 | Read N char given read4 | array | leetcode | A | + |
54 | Longest Substring with At Most Two Distinct Characters | array | leetcode | A | + |
55 | Simplify Path | string | leetcode | A | + |
56 | Serialize and Deserialize Binary Tree | tree | leetcode | A | - |
57 | Binary Tree Maximum Path Sum | tree | leetcode | A | + |
58 | Binary Tree Zigzag Level Order Traversal | tree | leetcode | A | + |
59 | Validate Binary Search Tree | tree | leetcode | A | - |
60 | Serialize and Deserialize BST | tree | leetcode | A | - |
61 | Binary Tree Right Side View | tree | leetcode | A | + |
62 | Lowest Common Ancestor of a Binary Tree | tree | leetcode | A | - |
63 | Symmetric Tree | tree | leetcode | A | +! |
64 | Jewels and Stones | hash | leetcode | A | + |
65 | Find Duplicate File in System | hash | leetcode | A | + |
66 | Subdomain Visit Count | hash | leetcode | A | + |
67 | Sliding Window Maximum | heap | leetcode | A | +! |
68 | Clone Graph | graph | leetcode | A | + |
69 | Course Schedule | graph | leetcode | A | - |
70 | Course Schedule2 | graph | leetcode | A | - |
71 | Reconstruct Itinerary | graph | leetcode | A | - |
72 | Evaluate Division | graph | leetcode | A | - |
73 | Network Delay Time | graph | leetcode | A | - |
74 | Is Graph Bipartite | graph | leetcode | A | + |
75 | Binary Tree Level Order Traversal | tree | leetcode | A | + |
76 | Subsets | bit manipulation | leetcode | A | + |
77 | Single Number | bit manipulation | leetcode | A | + |
78 | Single Number2 | bit manipulation | leetcode | A | +? |
79 | Majority Element | bit manipulation | leetcode | A | - |
80 | Bitwise AND of Numbers Range | bit manipulation | leetcode | A | ++!- |
81 | Missing Number | bit manipulation | leetcode | A | +! |
82 | Sum of Two Integers | bit manipulation | leetcode | A | ! |
83 | UTF-8 Validation | bit manipulation | leetcode | A | ! |
84 | Minimum Height Trees | graph | leetcode | A | ! |
85 | Reverse Integer | math | leetcode | A | + |
86 | Palindrome Number | math | leetcode | A | + |
87 | Divide Two Integers | math | leetcode | A | ! |
88 | Happy Number | math | leetcode | A | +! |
89 | Count Primes | math | leetcode | A | +! |
90 | Perfect Squares | math | leetcode | A | - |
91 | Least Operators to Express Number | math | leetcode | A | ! |
92 | Power of Two | bit manipulation | leetcode | A | ! |
93 | Longest Palindromic Substring | dynamic programming | leetcode | A | ! |
94 | Maximum Subarray | dynamic programming | leetcode | A | +! |
95 | Minimum Path Sum | dynamic programming | leetcode | A | + |
96 | Climbing Stairs | dynamic programming | leetcode | A | + |
97 | Decode Ways | dynamic programming | leetcode | A | + |
98 | Best Time to Buy and Sell Stock | dynamic programming | leetcode | A | + |
99 | Word Break | dynamic programming | leetcode | A | -! |
100 | Coin Change | dynamic programming | leetcode | A | + |
101 | Cherry Pickup | dynamic programming | leetcode | A | ! |
102 | Ugly Number II | math | leetcode | A | ! |
103 | Regular Expression Matching | dynamic programming | leetcode | A | ? |
104 | Median of Two Sorted Arrays | binary search | leetcode | A | +! |
105 | Search in Rotated Sorted Array | binary search | leetcode | A | ! |
106 | Merge Intervals | sort | leetcode | A | + |
107 | Time Based Key-Value Store | binary search | leetcode | A | !! |
108 | Split Array Largest Sum | binary search | leetcode | A | ! |
109 | Reorder Data in Log Files | string | leetcode | A | + |
110 | Product of Array Except Self | array | leetcode | A | ! |
111 | Game of Life | array | leetcode | A | ! |
112 | Generate Parentheses | array | leetcode | A | + |
113 | Letter Combinations of a Phone Number | string | leetcode | A | + |
114 | First Missing Positive | array | leetcode | A | +- |
115 | Move Zeroes | array | leetcode | A | ++- |
116 | Word Search | array | leetcode | A | - |
117 | Spiral Matrix | array | leetcode | A | + |
118 | 4Sum | hash | leetcode | A | - |
119 | Top K Frequent Elements | hash | leetcode | A | +! |
120 | Verifying an Alien Dictionary | hash | leetcode | A | + |
121 | Longest String Chain | hash | leetcode | A | + |
122 | Sudoku Solver | hash | leetcode | A | + |
123 | Swap Nodes in Pairs | linked list | leetcode | A | + |
124 | Reverse Linked List | linked list | leetcode | A | + |
125 | Add two numbers 2 | linked list | leetcode | A | -- |
126 | Reverse Nodes in k-Group | linked list | leetcode | A | - |
127 | Sort List | linked list | leetcode | A | ! |
128 | BST Iterator | tree (stack) | leetcode | A | - |
129 | House Robber | dp | leetcode | A | + |
130 | Maximal Square | dp | leetcode | A | - |
131 | Palindromic Substring | dp | leetcode | A | + |
132 | Combination Sum | dp | leetcode | A | -! |
133 | Maximum product subarray | dp | leetcode | A | -! |
134 | Longest increasing subsquence | dp | leetcode | A | + |
135 | Restore IP Addresses | dp | leetcode | A | + |
136 | Minimum Cost Tree From Leaf Values | dp | leetcode | A | -! |
137 | N-Queens | dp | leetcode | A | + |
138 | Unique BST | tree | leetcode | A | ! |
139 | Construct Binary Tree from Preorder and Inorder Traversal | tree | leetcode | A | ! |
140 | Count Complete Tree Nodes | tree | leetcode | A | +! |
141 | Subtree of Another Tree | tree | leetcode | A | +! |
142 | All Nodes Distance K in Binary Tree | tree | leetcode | A | ! |
143 | Diameter of Binary Tree | tree | leetcode | A | + |
144 | Recover Binary Search Tree | tree | leetcode | A | +-! |
145 | Keys and Rooms | graph | leetcode | A | + |
146 | Find the town judge | graph | leetcode | A | ++ |
147 | Redundant Connection | graph | leetcode | A | -! |
148 | Regions Cut By Slashes | graph | leetcode | A | -! |
149 | Couples Holding Hands | graph | leetcode | A | -! |
150 | Similar String Groups | graph | leetcode | A | -! |
151 | Longest Substring Without Repeating Characters | hash | leetcode | A | + |
152 | Arranging Coins | search | leetcode | A | ++-! |
153 | Binary Tree Level Order Traversal II | tree | leetcode | A | + |
154 | Prison Cells After N Days | bit manipulation | leetcode | A | +! |
155 | Hamming Distance | bit manipulation | leetcode | A | + |
156 | Island Perimeter | array | leetcode | A | + |
157 | Reverse words in a string | string | leetcode | A | + |
158 | pow_x_n | math | leetcode | A | + |
159 | Remove Linked List Elements | linked list | leetcode | A | + |
160 | Add binary | math | leetcode | A | + |
161 | Power of four | math | leetcode | A | + |
162 | Add and Search Word | tree | leetcode | A | - |
163 | Find all duplicates in an array | array | leetcode | A | +!! |
164 | Vertical Order Traversal of a Binary Tree | tree | leetcode | A | + |
165 | Rotting Oranges | array | leetcode | A | + |
166 | Excel Sheet Column Number | string | leetcode | A | + |
167 | Path Sum iii | tree | leetcode | A | ! |
168 | H-Index | array | leetcode | A | +++ |
169 | Pascal's Triangle ii | array | leetcode | A | ++! |
170 | Iterator for combination | string | leetcode | A | + |
171 | Longest Palindrome | string | leetcode | A | + |
172 | Non-Overlapping Intervals | array | leetcode | A | -! |
173 | Best Time to Buy and Sell Stock 3 | dp | leetcode | A | ! |
174 | Distribute candies to people | array | leetcode | A | ! |
175 | Numbers With Same Consecutive Differences | array | leetcode | A | + |
176 | Sum of left leaves | tree | leetcode | A | + |
177 | Sort array by parity | array | leetcode | a | + |
178 | Goat Latin | string | leetcode | a | + |
179 | Fizz Buzz | array | leetcode | a | + |
180 | Count Unique Characters of All Substrings of a Given String | string | leetcode | a | ! |
181 | Minimum Cost For Tickets | dp | leetcode | a | ! |
182 | Find Right Interval | search | leetcode | a | ! |
183 | Implement Rand10() Using Rand7() | math | leetcode | a | ! |
184 | Delete Node in a BST | tree | leetcode | a | ! |
185 | Majority Element II | array | leetcode | a | + |
186 | Find the difference | array | leetcode | a | + |
187 | Insert into a Binary Search Tree | tree | leetcode | a | + |
188 | House Robber II | dp | leetcode | a | ! |
189 | Rotate Array | array | leetcode | a | +! |
190 | Search a 2D Matrix | array | leetcode | a | + |
191 | Repeated DNA Sequences | string | leetcode | a | + |
192 | Best Time to Buy and Sell Stock IV | dp | leetcode | a | ! |
193 | Minimum Domino Rotations For Equal Row | array | leetcode | a | + |
194 | Clone Graph | graph | leetcode | a | + |
195 | Asteroid Collision | array | leetcode | a | + |
196 | Minimum Depth of Binary Tree | tree | leetcode | a | + |
197 | Linked List Cycle II | linked list | leetcode | a | +! |
198 | Summary Ranges | array | leetcode | a | + |
199 | Maximize Distance to Closest Person | array | leetcode | a | -! |
200 | Third Maximum Number | array | leetcode | a | + |
201 | Find Lucky Integer in an Array | array | leetcode | a | + |
202 | Check Array Formation Through Concatenation | array | leetcode | a | + |
203 | Count Sorted Vowel Strings | dp | leetcode | a | + |
204 | Furthest Building You Can Reach | heap | leetcode | a | ! |
205 | Kth Smallest Instructions | dp | leetcode | a | ! |
206 | Get Maximum in Generated Array | dp | leetcode | a | + |
207 | Minimum Deletions to Make Character Frequencies Unique | string | leetcode | a | + |
208 | Sell Diminishing-Valued Colored Balls | array | leetcode | a | ! |
209 | Create Sorted Array through Instructions | array | leetcode | a | ! |
210 | Check If Two String Arrays are Equivalent | string | leetcode | a | +! |
211 | Smallest String With A Given Numeric Value | string | leetcode | a | ! |
212 | Richest Customer Wealth | array | leetcode | a | + |
213 | Find the Most Competitive Subsequence | array | leetcode | a | - |
214 | Count of Matches in Tournament | math | leetcode | a | + |
215 | Partitioning Into Minimum Number Of Deci-Binary Numbers | math | leetcode | a | + |
216 | Stone Game VII | array | leetcode | a | ! |
+: Solved within 30 min
-: Solved over 30 min
!: Got help from the solution
?: Still don't understand the solution (should try again)