Solution for Leetcode/Lintcode
Sequence | No.# | Problem | Level | Language | Source |
---|---|---|---|---|---|
1 | 1 | Two Sum.java | Easy | Java | Leetcode |
2 | 242 | Valid Anagram.java | Easy | Java | Leetcode |
3 | 144 | Binary Tree Preorder Traversal | Medium | Java | Leetcode |
4 | 94 | Binary Tree Inorder Traversal Tree Iteration Template | Medium | Java | Leetcode |
5 | 512 | Decode Ways Dynamic Programming | Medium | Java | Lintcode |
6 | 638 | Strings Homomorphism.java | Easy | Java | Lintcode |
7 | 626 | Rectangle Overlap.java | Easy | Java | Lintcode |
8 | 637 | Check Word Abbreviation.java | Easy | Java | Lintcode |
9 | 639 | Word Abbreviation.java | Hard | Java | Lintcode |
10 | 642 | Sliding Window Average from Data Stream.java | Easy | Java | Lintcode |
11 | 640 | Edit Distance II.java | Medium | Java | Lintcode |
12 | 660 | Read Characters From File.java | Hard | Java | Lintcode |
13 | 659 | Strings Serialization.java | Medium | Java | Lintcode |
14 | 643 | System Longest File Path.java | Medium | Java | Lintcode |
15 | 419 | Roman to Integer.java | Medium | Java | Lintcode |
16 | 418 | Integer to Roman.java | Medium | Java | Lintcode |
17 | 645 | Identify Celebrity.java | Medium | Java | Lintcode |
18 | 644 | Mirror Numbers.java | Easy | Java | Lintcode |
19 | 72 | Edit Distance.java | Medium | Java | Leetcode |
20 | 641 | Missing Interval.java | Medium | Java | Lintcode |
21 | 156 | Merge Intervals.java | Medium | Java | Lintcode |
22 | 30 | Insert Interval.java | Hard | Java | Lintcode |
23 | 646 | First Position Unique Character.java | Easy | Java | Lintcode |
24 | 647 | Substring Anagrams.java | Medium | Java | lintcode |
25 | 648 | Word Abbreviation Set.java | Medium | Java | Lintcode |
26 | 124 | Longest Consecutive Sequence.java | Medium | Java | Lintcode |
27 | 526 | Load Balancer.java | Medium | Java | Lintcode |
28 | 76 | Longest Increasing Subsequence.java | Medium | Java | Lintcode |
29 | 423 | Valid Parentheses Good | Easy | Java | Lintcode |
30 | 622 | Guess Number Game.java | Easy | Java | Lintcode |
31 | 61 | Search for a Range.java | Medium | Java | Lintcode |
32 | 661 | Conver BST to Greater Tree Good | Easy | Java | Lintcode |
33 | 448 | Inorder Successor Binary Search Tree Good | Medium | Java | Lintcode |
34 | 649 | Binary Tree Flipping Good | Medium | Java | Lintcode |
32 | 650 | Binary Tree Leaves Order Traversal Good | Medium | Java | Lintcode |
33 | 651 | Binary Tree Vertical Order Traversal Good | Medium | Java | Lintcode |
34 | 628 | Maximum Subtree.java | Easy | Java | Lintcode |
35 | 270 | Closest Binary Search Tree Value Good | Easy | Java | Leetcode |
36 | 74 | First Bad Version.java | Medium | Java | Lintcode |
37 | 629 | Minimum Spanning Tree.java | Hard | Java | Lintcode |
38 | 477 | Surrounded Regions.java | Medium | Java | Lintcode |
39 | 477 | Surrounded Regions.py | Medium | Java | Lintcode |
40 | 663 | Nearest Exit.java | Medium | Java | Lintcode |
41 | 425 | Letter Combinations of Phone Number.java | Medium | Java | Lintcode |
42 | 652 | Factorization.java | Medium | Java | Lintcode |
43 | 653 | Add Operators.java | Hard | Java | Lintcode |
44 | 634 | Word Squares.java | Hard | Java | Lintcode |
45 | 38 | Search a 2D Matrix II.java | Medium | Java | Lintcode |
46 | 161 | Rotate Image.java | Medium | Java | Lintcode |
47 | 654 | Sparse Matrix Multiplication | Medium | Java | Lintcode |
48 | 655 | Big Integer Addition.java | Easy | Java | Lintcode |
49 | 656 | Big Integer Multiplication.java | Medium | Java | Lintcode |
50 | 408 | Add Binary.java | Medium | Java | Lintcode |
51 | 167 | Add Two Numbers.java | Easy | Java | Lintcode |
52 | 428 | Pow.java | Medium | Java | Lintcode |
53 | 433 | Number of Islands.java | Easy | Java | Lintcode |
54 | 107 | Word Break.java | Medium | Java | Lintcode |
55 | 3 | Longest Substring Without Repeating Chars Sliding Window | Medium | Java | Leetcode |
56 | 4 | Median of Two Sorted Arrays | Hard | Java | Leetcode |
57 | 5 | Longest Palindromic Substring Dynamic Programming | Medium | Java | Leetcode |
58 | 6 | Zig Zag Conversion.java | Medium | Java | Leetcode |
59 | 7 | Reverse Integer | Easy | Java | Leetcode |
60 | 688 | Knight Probability in Chessboard.java | Medium | Java | Leetcode |
61 | 697 | Degree of Array.java | Easy | Java | Leetcode |
62 | 39 | Combination Sum.java | Medium | Java | Leetcode |
63 | 40 | Combination Sum II.java | Medium | Java | Leetcode |
64 | 46 | Permutations.java | Medium | Java | Leetcode |
65 | 47 | Permutations II.java | Medium | Java | Leetcode |
66 | 146 | LRU Cache.java | Hard | Java | Leetcode |
67 | 15 | 3Sum.java | Medium | Java | Leetcode |
68 | 74 | Search 2D Matrix.java | Medium | Java | Leetcode |
69 | 33 | Search in Rotated Sorted Array.java | Medium | Java | Leetcode |
70 | 235 | Lowest Common Ancestor Binary Search Tree | Easy | Java | Leetcode |
71 | 236 | Lowest Common Ancestor Binary Tree | Medium | Java | Leetcode |
72 | 104 | Maximum Depth of Binary Tree.java | Easy | Java | Leetcode |
73 | 257 | Binary Tree Paths.java | Easy | Java | Leetcode |
74 | 110 | Valid Balanced Binary Tree.java | Easy | Java | Leetcode |
75 | 298 | Binary Tree Longest Consecutive Sequence | Medium | Java | Leetcode |
76 | 378 | Convert Binary Search Tree to DoublyLinkedList | Medium | Java | Lintcode |
77 | 207 | Course Schedule Topological Sort Find Cycle | Medium | Java | Leetcode |
78 | 210 | Course Schedule II | Medium | Java | Leetcode |
79 | 70 | Binary Tree Level Order Traversal II | Medium | Java | Lintcode |
80 | 178 | Graph Valid Tree.java | Medium | Java | Lintcode |
81 | 51 | N-Queens.java | Hard | Java | Leetcode |
82 | 52 | N-Queens II.java | Hard | Java | Leetcode |
83 | 112 | Path Sum | Easy | Java | Leetcode |
84 | 113 | Path Sum II Backtracking Very good | Medium | Java | Leetcode |
85 | 528 | Flatten Nested List Iterator Very Good Stack | Medium | Java | Lintcode |
86 | 40 | Implement Queue by Stacks | Medium | Java | Lintcode |
87 | 450 | Reverse Nodes in k-Group.java | Hard | Java | Lintcode |
88 | 105 | Copy List with RandomPointer.java | Medium | Java | Lintcode |
89 | 21 | Merge Two Sorted Lists.java | Easy | Java | Leetcode |
90 | 148 | Sort List.java | Medium | Java | Leetcode |
91 | 23 | Merge k Sorted Lists.java | Hard | Java | Leetcode |
92 | 53 | Maximum Subarray Very Good Greedy DP | Easy | Java | Leetcode |
93 | 138 | Subarray Sum.java | Easy | Java | Lintcode |
94 | 139 | Subarray Sum Closest.java | Medium | Java | Lintcode |
95 | 560 | Subarray Sum Equals K Prefix Sum Very Good | Medium | Java | Leetcode |
96 | 283 | Move Zeroes.java | Easy | Java | Leetcode |
97 | 27 | Remove Element.java | Easy | Java | Leetcode |
98 | 26 | Remove Duplicates from Sorted Array Good | Easy | Java | Leetcode |
99 | 16 | 3SumClosest.java | Medium | Java | Leetcode |
100 | 31 | Partition Array.java | Medium | Java | Lintcode |
101 | 561 | ArrayPartitionI.java | Easy | Java | Leetcode |
102 | 5 | Kth Largest Element Quick Select | Medium | Java | Lintcode |
103 | 75 | Sort Colors Three pointers Good | Medium | Java | Leetcode |
104 | 143 | Sort Colors II.java | Medium | Java | Lintcode |
105 | 129 | Rehashing.java | Medium | Java | Lintcode |
106 | 128 | Longest Consecutive Sequence.java | Hard | Java | Leetcode |
107 | 171 | Anagrams.java | Medium | Java | Lintcode |
108 | 438 | Find All Anagrams in String.java | Medium | Java | Leetcode |
XXX | 438 | template for sliding window | |||
109 | 263 | Ugly Number | Easy | Java | leetcode |
110 | 264 | Ugly Number II Dynamic Programming Merge Sort Idea | Medum | Java | Leetcode |
111 | 692 | Top K Frequent Words.java | Medium | Java | Leetcode |
112 | 613 | High Five.java | Medium | Java | Lintcode |
113 | 401 | Kth Smallest Number in Sorted Matrix.java | Medium | Java | Lintcode |
114 | 109 | Triangle.java | Easy | Java | Lintcode |
115 | 64 | Minimum Path Sum.java | Medium | Java | Leetcode |
116 | 62 | Unique Paths.java | Medium | Java | Leetcode |
117 | 63 | Unique Paths II.java | Medium | Java | Leetcode |
118 | 300 | Longest Increasing Subsequence Binary Search DP Very Good | Medium | Java | Leetcode |
119 | 368 | Largest Divisible Subset.java | Medium | Java | Leetcode |
120 | 91 | Decode Ways.java | Medium | Java | Leetcode |
121 | 179 | Largest Number Compartor | Medium | Java | Leetcode |
122 | 713 | Subarray Product Less Than K.java | Medium | Java | Leetcode |
123 | 152 | Maximum Product Subarray.java | Medium | Java | Leetcode |
124 | 406 | Minimum Size Subarray Sum.java | Medium | Java | Lintcode |
125 | 44 | Minimum Subarray.java | Easy | Java | Lintcode |
126 | 121 | Best Time to Buy and Sell Stock.java | Easy | Java | Leetcode |
127 | 122 | Best Time to Buy and Sell Stock II.java | Easy | Java | Leetcode |
128 | 123 | Best Time to Buy and Sell Stock III.java | Hard | Java | Leetcode |
129 | 188 | Best Time to Buy and Sell Stock IV.java | Hard | Java | Leetcode |
130 | 714 | Best Time to Buy and Sell Stock with Fee | Medium | Java | Leetcode |
131 | 344 | ReverseString.java | Easy | Java | Leetcode |
132 | 347 | Top K Frequent Elements.java | Medium | Java | Leetcode |
134 | 136 | Single Number.java | Easy | Java | Leetcode |
135 | 20 | Valid Parentheses.java | Easy | Java | Leetcode |
136 | 206 | Reverse LinkedList.java | Easy | Java | Leetcode |
137 | 572 | Subtree of Another Tree.java | Easy | Java | Leetcode |
138 | 223 | Rectangle Area.java | Medium | Java | Leetcode |
139 | 239 | Sliding Window Maximum.java | Hard | Java | Leetcode |
140 | 48 | Rotate Image.java | Medium | Java | Leetcode |
141 | 141 | Linked List Cycle | Easy | Java | Leetcode |
142 | 142 | Linked List Cycle II | Medium | Java | Leetcode |
143 | 129 | Sum Root to Leaf Numbers recursion | Medium | Java | Leetcode |
144 | 413 | Arithmetic Slices.java | Medium | Java | Leetcode |
145 | 328 | OddEvenLinkedList.java | Medium | Java | Leetcode |
146 | 92 | ReverseLinkedListII.java | Medium | Java | Leetcode |
147 | 160 | Intersection of Two Linked Lists.java | Easy | Java | Leetcode |
148 | 203 | Remove Linked List Elements.java | Easy | Java | Leetcode |
149 | 49 | Group Anagrams.java | Medium | Java | Leetcode |
150 | 73 | Set Matrix Zeroes.java | Medium | Java | Leetcode |
151 | 78 | Subsets.java | Medium | Java | Leetcode |
152 | 89 | Gray Code Bit manipulation | Medium | Java | Leetcode |
153 | 98 | Validate Binary Search Tree Good | Medium | Java | Leetcode |
154 | 119 | Pascal's triangle II.java | Easy | Java | leetcode |
155 | 155 | Min Stack.java | Easy | Java | Leetcode |
156 | 167 | Two Sum II.java | Easy | Java | Leetcode |
157 | 189 | Rotate Array Very Good | Easy | Java | Leetcode |
158 | 151 | Reverse Words in a String.java | Medium | Java | Leetcode |
159 | 186 | Reverse Words in a String II Very Good | Medium | Java | Leetcode |
160 | 199 | Binary Tree Right Side View.java | Medium | Java | Leetcode |
161 | 205 | Isomorphic Strings.java | Easy | Java | Leetcode |
162 | 204 | Count Primes.java | Easy | Java | Leetcode |
163 | 234 | Palindrome Linked List.java | Easy | Java | Leetcode |
164 | 279 | Perfect Squares.java | Medium | Java | Leetcode |
165 | 237 | Delete Node in a Linked List.java | Easy | Java | Leetcode |
166 | 238 | Product of Array Except Self.java | Medium | Java | Leetcode |
167 | 380 | Insert Delete GetRandom Load Balancer.java | Medium | Java | Leetcode |
168 | 387 | First Unique Character in a String.java | Easy | Java | Leetcode |
169 | 617 | Merge Two Binary Trees Very Good | Easy | Java | Leetcode |
170 | 682 | BaseballGame.java | Easy | Java | Leetcode |
171 | 297 | Serialize and Deserialize Binary Tree.java | Hard | Java | Leetcode |
172 | 763 | Partition Labels Very Good | Medium | Java | Leetcode |
XXX | XXX | distance between two nodes of BinarySearchTree | |||
173 | 678 | Valid Parenthesis String.java | Medium | Java | Leetcode |
174 | 627 | Longest Palindrome.java | Easy | Java | Lintcode |
175 | 726 | Check Valid Full Binary Tree.java | Medium | Java | Lintcode |
176 | 728 | Three Distinct Factors.java | Medium | Java | Lintcode |
177 | 772 | Group Anagrams.java | Medium | Java | Lintcode |
178 | 735 | Maximum From the Right.java | Medium | Java | Lintcode |
179 | 451 | Sort Characters By Frequency.java | Medium | Java | Leetcode |
180 | 532 | K-diff Pairs in an Array.java | Easy | Java | Leetcode |
181 | 28 | Implement strStr.java | Easy | Java | Leetcode |
182 | 96 | Partition List.java | Medium | Java | Lintcode |
183 | 511 | Swap Two Nodes in Linked List.java | Medium | Java | Lintcode |
184 | 99 | Reorder List.java | Medium | Java | Lintcode |
185 | 170 | Rotate List Good | Medium | Java | Lintcode |
186 | 106 | Convert Sorted List to Balanced BST.java | Medium | Java | Lintcode |
187 | 6 | Merge Two Sorted Arrays.java | Easy | Java | Lintcode |
188 | 57 | Three Sum.java | Medium | Java | Lintcode |
189 | 382 | Triangle Count.java | Medium | Java | Lintcode |
190 | 49 | Sort Letters by Case.java | Medium | Java | Lintcode |
191 | 37 | Partition Array by Odd and Even.java | Easy | Java | Lintcode |
192 | 144 | Interleaving Positive and Negative | Medium | Java | Lintcode |
193 | 111 | Climbing Stairs.java | Easy | Java | Lintcode |
194 | 116 | Jump Game.java | Medium | Java | Lintcode |
195 | 117 | Jump Game II.java | Medium | Java | Lintcode |
196 | 604 | Window Sum.java | Easy | Java | Lintcode |
197 | 80 | Remove Duplicates from Sorted Array II.java | Medium | Java | Leetcode |
198 | 88 | Merge Sorted Array.java | Easy | Java | Leetcode |
199 | 287 | Find Duplicate Number Binary Search Good | Medium | Java | Leetcode |
200 | 111 | Minimum Depth of Binary Tree.java | Easy | Java | Leetcode |
201 | 22 | Generate Parentheses Recursion Very Good | Medium | Java | Leetcode |
202 | 131 | Palindrome Partitioning.java | Medium | Java | Leetcode |
203 | 545 | Boundary of Binary Tree.java | Medium | Java | Leetcode |
204 | 42 | Trapping Rain Water.java | Hard | Java | Leetcode |
205 | 675 | Cut Off Trees for Golf Event.java | Hard | Java | Leetcode |
206 | 460 | LFU Cache.java | Hard | Java | Leetcode |
207 | 725 | Split Linked Listin Parts.java | Medium | Java | Leetcode |
208 | 529 | Minesweeper.java | Medium | Java | Leetcode |
209 | 508 | Most Frequent SubtreeSum.java | Medium | Java | Leetcode |
210 | 414 | Third Maximum Number.java | Easy | Java | Leetcode |
211 | 538 | Convert BST to Greater Tree.java | Easy | Java | Leetcode |
212 | 775 | Global Local Inversions.java | Medium | Java | Leetcode |
213 | 771 | Jewels and Stones.java | Easy | Java | Leetcode |
214 | 746 | Min Cost Climbing Stairs.java | Easy | Java | Leetcode |
215 | 70 | Climbing Stairs.java | Easy | Java | Leetcode |
216 | 662 | Maximum Width of Binary Tree.java | Medium | Java | Leetcode |
217 | 661 | Image Smoother.java | Easy | Java | Leetcode |
218 | 646 | Maximum Length of Pair Chain.java | Medium | Java | Leetcode |
219 | 645 | Set Mismatch.java | Easy | Java | Leetcode |
220 | 606 | Construct String from Binary Tree.java | Easy | Java | Leetcode |
221 | 536 | Construct Binary Tree from String.java | Medium | Java | Leetcode |
222 | 553 | Optimal Division.java | Medium | Java | Leetcode |
223 | 459 | Repeated Substring Pattern.java | Easy | Java | Leetcode |
224 | 686 | Repeated String Match.java | Easy | Java | Leetcode |
225 | 396 | Rotate Function.java | Medium | Java | Leetcode |
226 | 14 | Longest Common Prefix.java | Easy | Java | Leetcode |
227 | 31 | Next Permutation.java | Medium | Java | Leetcode |
228 | 38 | Count and Say.java | Easy | Java | Leetcode |
229 | 41 | First Missing Positive.java | Hard | Java | Leetcode |
230 | 54 | Spiral Matrix.java | Medium | Java | Leetcode |
231 | 76 | Minimum Window Substring Sliding Window Very Good | Hard | Java | Leetcode |
232 | 103 | Binary Tree Zigzag Level Order Traversal.java | Medium | Java | Leetcode |
233 | 105 | Construct Binary Tree from Preorder and Inorder Traversal | Medium | Java | Leetcode |
234 | 106 | Construct Binary Tree from Inorder and Postorder Traversal | Medium | Java | Leetcode |
235 | 108 | Convert Sorted Array to Binary Search Tree | Easy | Java | Leetcode |
236 | 114 | Flatten Binary Tree to Linked List Very Good | Medium | Java | Leetcode |
237 | 124 | Binary Tree Maximum Path Sum Very Good | Hard | Java | Leetcode |
238 | 133 | Clone Graph DFS BFS Good | Medium | Java | Leetcode |
239 | 134 | Gas Station.java | Medium | Java | Leetcode |
240 | 145 | Binary Tree Postorder Traversal | Hard | Java | Leetcode |
241 | 150 | Evaluate Reverse Polish Notation.java | Medium | Java | Leetcode |
242 | 162 | Find Peak Element.java | Medium | Java | Leetcode |
243 | 166 | Fraction to Recurring Decimal | Medium | Java | Leetcode |
244 | 169 | Majority Element.java | Easy | Java | Leetcode |
245 | 171 | Excel Sheet Column Number | Easy | Java | Leetcode |
246 | 168 | Excel Sheet Column Title | Easy | Java | Leetcode |
247 | 172 | Factorial Trailing Zeroes.java | Easy | Java | Leetcode |
248 | 174 | Dungeon Game.java | Hard | Java | Leetcode |
249 | 198 | House Robber.java | Easy | Java | Leetcode |
250 | 202 | Happy Number.java | Easy | Java | Leetcode |
251 | 208 | Implement Trie.java | Medium | Java | Leetcode |
252 | 213 | House Robber II.java | Medium | Java | Leetcode |
253 | 230 | Kth Smallest Element in a BST Good | Medium | Java | Leetcode |
254 | 671 | Second Minimum Node In a Binary Tree | Easy | Java | Leetcode |
255 | 251 | Flatten 2D Vector.java | Medium | Java | Leetcode |
256 | 252 | Meeting Rooms.java | Easy | Java | Leetcode |
257 | 253 | Meeting Rooms II TreeMap Sweep line | Medium | Java | Leetcode |
258 | 269 | Alien Dictionary Topological sort Very good | Hard | Java | Leetcode |
259 | 289 | Game of Life.java | Medium | Java | Leetcode |
260 | 225 | Implement Stack Using Queue.java | Medium | Java | Leetcode |
261 | 295 | Find Median from Data Stream.java | Hard | Java | Leetcode |
262 | 322 | Coin Change Dynamic Programming | Medium | Java | Leetcode |
263 | 280 | Wiggle Sort.java | Medium | Java | Leetcode |
264 | 324 | Wiggle Sort II.java | Medium | Java | Leetcode |
265 | 329 | Longest Increasing Path DFS + Memo | Hard | Java | Leetcode |
266 | 334 | Increasing Triplet Subsequence.java | Medium | Java | Leetcode |
267 | 340 | Longest Substring with At Most K Distinct Characters | Hard | Java | Leetcode |
268 | 348 | Design Tic Tac Toe Good | Medium | Java | Leetcode |
269 | 349 | Intersection of Two Arrays | Easy | Java | Leetcode |
270 | 350 | Intersection of Two Arrays II | Easy | Java | Leetcode |
271 | 371 | Sum of Two Integers | Easy | Java | Leetcode |
272 | 382 | Reservoir Sampling Linked List Random Node | Medium | Java | Leetcode |
273 | 398 | Reservoir Sampling Random Pick Index | Medium | Java | Leetcode |
274 | 384 | Reservoir Shuffle an Array | Medium | Java | Leetcode |
275 | 395 | Longest Substring with At Least K Repeating Characters Sliding Window Very good | Medium | Java | Leetcode |
276 | 412 | Fizz Buzz | Easy | Java | Leetcode |
277 | 454 | 4Sum II | Medium | Java | Leetcode |
278 | 611 | Valid Triangle Number | Medium | Java | Leetcode |
279 | 259 | 3Sum Smaller | Medium | Java | Leetcode |
280 | 733 | Flood Fill | Easy | Java | Leetcode |
281 | 547 | Union Find Friend Circles | Medium | Java | Leetcode |
282 | 140 | Word Break II Recursion + Memo | Hard | Java | Leetcode |
283 | 805 | Maxium Association Set | Medium | Java | Lintcode |
284 | 79 | Word Search backtracking | Medium | Java | Leetcode |
285 | 212 | Word Search II backtracking Trie | Hard | Java | Leetcode |
286 | 336 | Palindrome Pair | Hard | Java | Leetcode |
287 | 549 | Binary Tree Longest Consecutive Sequence II Very Good | Medium | Java | Leetcode |
288 | 44 | Wildcard Matching | Hard | Java | Leetcode |
289 | 10 | Regular Expression Matching | Hard | Java | Leetcode |
290 | 243 | Shortest Word Distance | Easy | Java | Leetcode |
291 | 244 | Shortest Word Distance II | Medium | Java | Leetcode |
292 | 245 | Shortest Word Distance III | Medium | Java | Leetcode |
293 | 9 | Palindrome Number.java | Easy | Java | Leetcode |
294 | 19 | Remove Nth Node From End of List | Medium | Java | Leetcode |
295 | 36 | Valid Sudoku | Medium | Java | Leetcode |
296 | 229 | Majority Element II | Medium | Java | Leetcode |
297 | 384 | Longest Substring Without Repeating Characters | Medium | Java | Lintcode |
XXX | XXX | Union Find Template | |||
298 | 305 | Number of Islands II | Hard | Java | Leetcode |
299 | 364 | Trapping Rain Water II | Hard | Java | Lintcode |
300 | 81 | Data Stream Median | Hard | Java | Lintcode |
301 | 575 | Expression Expand | Medium | Java | Lintcode |
302 | 84 | Largest Rectangle in Histogram Monotonic Stack Very Good | Hard | Java | Leetcode |
303 | 85 | Maximal Rectangle Very Good | Hard | Java | Leetcode |
304 | 385 | Sliding Window Maximum | Hard | Java | Leetcode |
305 | 141 | Sqrt square | Easy | Java | Lintcode |
306 | 437 | Copy Books | Hard | Java | Lintcode |
307 | 362 | Sliding Window Maximum | Hard | Java | Lintcode |
308 | 643 | Maximum Average Subarray I | Easy | Java | Leetcode |
309 | 644 | Maximum Average Subarray II | Hard | Java | Leetcode |
310 | 391 | Number of Airplanes in the Sky | Medium | Java | Lintcode |
311 | 221 | Maximal Square | Medium | Java | Leetcode |
312 | 397 | Longest Increasing Continuous Subsequence | Easy | Java | Lintcode |
313 | 398 | Longest Increasing Continuous Subsequence 2D (memorization) | Hard | Java | Lintcode |
314 | 394 | Coins in a Line I | Medium | Java | Lintcode |
315 | 395 | Coins in a Line II | Medium | Java | Lintcode |
316 | 312 | Burst Balloons | Hard | Java | Leetcode |
317 | 77 | Longest Common Subsequence (LCS) | Medium | Java | Lintcode |
318 | 79 | Longest Common Substring | Medium | Java | Lintcode |
319 | 92 | Backpack | Medium | Java | Lintcode |
320 | 125 | Backpack II | Medium | Java | Lintcode |
312 | 89 | k sum | Hard | Java | Lintcode |
313 | 402 | Continuous Subarray Sum | Medium | Java | Lintcode |
314 | 22 | Flatten List.java | Easy | Java | Lintcode |
315 | 86 | Binary Search Tree Iterator | Hard | Java | Lintcode |
316 | 694 | Number of Distinct Islands | Medium | Java | Leetcode |
317 | 127 | Word Ladder | Medium | Java | Leetcode |
318 | 240 | Search 2D Matrix II Good | Medium | Java | Leetcode |
319 | 518 | Coin Change 2 | Medium | Java | Leetcode |
320 | 537 | Complex Number Multiplication | Medium | Java | Leetcode |
321 | 663 | Equal Tree Partition Tree Sum | Medium | Java | Leetcode |
322 | 791 | Custom Sort String | Medium | Java | Leetcode |
323 | 742 | Closest Leaf in a Binary Tree | Medium | Java | Leetcode |
324 | 776 | Split BST | Medium | Java | Leetcode |
325 | 8 | String to Integer (atoi) | Medium | Java | Leetcode |
326 | 11 | Container With Most Water | Medium | Java | Leetcode |
327 | 35 | Search Insert Position | Easy | Java | Leetcode |
328 | 24 | Swap Nodes in Pairs | Medium | Java | Leetcode |
329 | 43 | Multiply Strings Good | Medium | Java | Leetcode |
330 | 18 | 4Sum | Medium | Java | Leetcode |
331 | 30 | Substring with Concatenation of All Words | Hard | Java | Leetcode |
332 | 59 | Spiral Matrix II | Medium | Java | Leetcode |
333 | 60 | Permutation Sequence | Medium | Java | Leetcode |
334 | 66 | Plus One | Easy | Java | Leetcode |
335 | 100 | Same Tree | Easy | Java | Leetcode |
336 | 90 | Subsets II | Medium | Java | Leetcode |
337 | 77 | Combinations | Medium | Java | Leetcode |
338 | 81 | Search in Rotated Sorted Array II Very Good | Medium | Java | Leetcode |
339 | 83 | Remove Duplicates from Sorted List | Easy | Java | Leetcode |
340 | 82 | Remove Duplicates from Sorted List II | Medium | Java | Leetcode |
341 | 101 | Symmetric Tree Good | Easy | Java | Leetcode |
342 | 107 | Binary Tree Level Order Traversal II | Easy | Java | Leetcode |
343 | 125 | Valid Palindrome | Easy | Java | Leetcode |
344 | 96 | Unique Binary Search Trees (Catalan Number) | Medium | Java | Leetcode |
345 | 95 | Unique Binary Search Trees II | Medium | Java | Leetcode |
346 | 87 | Scramble String | Hard | Java | Leetcode |
347 | 97 | Interleaving String | Hard | Java | Leetcode |
348 | 118 | Pascal's Triangle | Easy | Java | Leetcode |
349 | 99 | Recover Binary Search Tree | Hard | Java | Leetcode |
350 | 93 | Restore IP Addresses | Medium | Java | Leetcode |
351 | 116 | Populating Next Right Pointers in Each Node | Medium | Java | Leetcode |
352 | 117 | Populating Next Right Pointers in Each Node II Good | Medium | Java | Leetcode |
353 | 147 | Insertion Sort List | Medium | Java | Leetcode |
354 | 153 | Find Minimum in Rotated Sorted Array | Medium | Java | Leetcode |
355 | 154 | Find Minimum in Rotated Sorted Array II | Hard | Java | Leetcode |
356 | 231 | Power of Two | Easy | Java | Leetcode |
357 | 535 | Encode and Decode TinyURL | Medium | Java | Leetcode |
358 | 211 | Add and Search Word Trie DFS Good | Medium | Java | Leetcode |
359 | 187 | Repeated DNA Sequences | Medium | Java | Leetcode |
360 | 216 | Combination Sum III | Medium | Java | Leetcode |
361 | 214 | Shortest Palindrome | Hard | Java | Leetcode |
362 | 219 | Contains Duplicate II | Easy | Java | Leetcode |
363 | 220 | Contains Duplicate III TreeSet TreeMap | Medium | Java | Leetcode |
364 | 226 | Invert Binary Tree | Easy | Java | Leetcode |
365 | 258 | Add Digits | Easy | Java | Leetcode |
366 | 222 | Count Complete Tree Nodes Very Good | Medium | Java | Leetcode |
367 | 218 | Skyline Very Good PriorityQueue Sweep Line | Hard | Java | Leetcode |
368 | 228 | Summary Ranges | Medium | Java | Leetcode |
369 | 224 | Basic Calculator Stack Good | Hard | Java | Leetcode |
370 | 225 | Basic Calculator II No Stack Good | Medium | Java | Leetcode |
371 | 246 | Strobogrammatic Numbe | Easy | Java | Leetcode |
372 | 247 | Strobogrammatic Numbe II | Medium | Java | Leetcode |
373 | 249 | Group Shifted Strings | Medium | Java | Leetcode |
374 | 250 | Count Univalue Subtrees | Medium | Java | Leetcode |
375 | 254 | Factor Combinations | Medium | Java | Leetcode |
376 | 255 | Verify preorder in binary search tree montonic stack | Medium | Java | Leetcode |
377 | 256 | Paint House | Easy | Java | Leetcode |
378 | 274 | H-Index | Medium | Java | Leetcode |
379 | 275 | H-Index II | Medium | Java | Leetcode |
380 | 241 | Different Ways to Add Parentheses Divide and Conquer | Medium | Java | Leetcode |
381 | 290 | Word Pattern | Easy | Java | Leetcode |
382 | 284 | Peeking Iterator | Medium | Java | Leetcode |
383 | 292 | Nim Game | Easy | Java | Leetcode |
384 | 299 | Bulls and Cows | Medium | Java | Leetcode |
385 | 282 | Expression Add Operators Backtracking | Hard | Java | Leetcode |
386 | 318 | Maximum Product of Word Lengths bit compare two words | Medium | Java | Leetcode |
387 | 303 | Range Sum Query - Immutable preSum Array | Easy | Java | Leetcode |
388 | 304 | Range Sum Query 2D 2D preSum Array | Medium | Java | Leetcode |
389 | 310 | Minimum Height Trees topological sort graph | Medium | Java | Leetcode |
390 | 367 | Valid Perfect Square | Easy | Java | Leetcode |
391 | 331 | Verify Preorder Serialization of a Binary Tree | Medium | Java | Leetcode |
392 | 337 | House Robber III Tree DP Very Good | Medium | Java | Leetcode |
393 | 315 | Count of Smaller Numbers After Self | Hard | Java | leetcode |
394 | 332 | Reconstruct Itinerary Backtracking | Medium | Java | Leetcode |
395 | 373 | Find K Pairs with Smallest Sums | Medium | Java | Leetcode |
396 | 345 | Reverse Vowels of a String | Easy | Java | Leetcode |
397 | 321 | Create Maximum Number | Hard | Java | Leetcode |
398 | 32 | Longest Valid Parentheses two pointers | Hard | Java | Leetcode |
399 | 581 | Shortest Unsorted Continuous Subarray two pointers | Easy | Java | Leetcode |
400 | 494 | Target Sum Add Operator DFS or Backpack DP Very Good | Medium | Java | Leetcode |
401 | 543 | Diameter of Binary Tree Good | Easy | Java | Leetcode |
402 | 394 | Decode String Stack Very Good | Medium | Java | Leetcode |
403 | 437 | Path Sum III Good Recursion | Easy | Java | Leetcode |
404 | 448 | Find All Numbers Disappeared in an Array | Easy | Java | Leetcode |
405 | 416 | Partition Equal Subset Sum Backpack DP Very Good | Medium | Java | Leetcode |
406 | 461 | Hamming Distance bit | Easy | Java | Leetcode |
407 | 647 | Palindromic Substrings Dynamic Programming | Medium | Java | Leetcode |
408 | 301 | Remove Invalid Parentheses BFS Very Good | Hard | Java | Leetcode |
409 | 338 | Counting Bits | Medium | Java | Leetcode |
410 | 406 | Queue Reconstruction by Height | Medium | Java | Leetcode |
411 | 309 | Best Time to Buy and Sell Stock with Cooldown | Medium | Java | Leetcode |
412 | 621 | Task Scheduler Very Good | Medium | Java | Leetcode |
413 | 191 | Number of 1 Bits | Easy | Java | Leetcode |
414 | 190 | Reverse Bits | Easy | Java | Leetcode |
415 | 326 | Power of Three | Easy | Java | Leetcode |
416 | 137 | Single Number II | Medium | Java | Leetcode |
417 | 260 | Single Number III | Medium | Java | Leetcode |
418 | 342 | Power of Four | Easy | Java | Leetcode |
419 | 343 | Integer break | Medium | Java | Leetcode |
420 | 374 | Guess Number | Easy | Java | Leetcode |
421 | 377 | Combination Sum IV | Medium | Java | Leetcode |
422 | 389 | Find the Difference | Easy | Java | Leetcode |
423 | 376 | Wiggle Subsequence | Medium | Java | Leetcode |
424 | 415 | Add Strings | Easy | Java | Leetcode |
425 | 381 | Insert Delete GetRandom O(1) - Duplicates allowed | Hard | Java | Leetcode |
426 | 405 | Convert a Number to Hexadecimal | Easy | Java | Leetcode |
427 | 404 | Sum of Left Leaves | Easy | Java | Leetcode |
428 | 417 | Pacific Atlantic Water Flow | Medium | Java | Leetcode |
429 | 392 | Is subsequence | Medium | Java | Leetcode |
430 | 383 | Ransom Note | Easy | Java | Leetcode |
431 | 386 | Lexicographical Numbers | Medium | Java | Leetcode |
432 | 410 | Split Array Largest Sum Binary Search Very Good | Hard | Java | Leetcode |
433 | 424 | Longest Repeating Character Replacement Sliding Window | Medium | Java | Leetcode |
434 | 433 | Minimum Genetic Mutation BFS | Medium | Java | Leetcode |
435 | 434 | Number of Segments in a String split | Easy | Java | Leetcode |
436 | 435 | Non-overlapping Intervals | Medium | Java | Leetcode |
437 | 447 | Number of Boomerangs | Easy | Java | Leetcode |
438 | 442 | Find All Duplicates in an Array | Medium | Java | Leetcode |
439 | 541 | Reverse String II | Easy | Java | Leetcode |
440 | 452 | Minimum Number of Arrows to Burst Balloons Interval Very Good | Medium | Java | Leetcode |
441 | 530 | Minimum Absolute Difference in BST | Easy | Java | Leetcode |
442 | 539 | Minimum Time Difference | Medium | Java | Leetcode |
443 | 500 | Keyboard Row | Easy | Java | Leetcode |
444 | 463 | Island Perimeter | Easy | Java | Leetcode |
445 | 453 | Minimum Moves to Equal Array Elements | Easy | Java | Leetcode |
446 | 462 | Minimum Moves to Equal Array Elements II | Medium | Java | Leetcode |
447 | 476 | Number Complement | Easy | Java | Leetcode |
448 | 455 | Assign Cookies | Easy | Java | Leetcode |
449 | 445 | Add Two Numbers II | Medium | Java | Leetcode |
450 | 450 | Delete Node in a BST Recursion/Divide Conquer | Medium | Java | Leetcode |
451 | 501 | Find Mode in Binary Search Tree | Easy | Java | Leetcode |
452 | 496 | Next Greater Element I Monotonic Stack | Easy | Java | Leetcode |
453 | 503 | Next Greater Element II Monotonic Stack | Medium | Java | Leetcode |
454 | 556 | Next Greater Element III | Medium | Java | Leetcode |
455 | 443 | String Compression Two Pointers Good | Easy | Java | Leetcode |
456 | 456 | 132 Pattern Monotonic Stack | Hard | Java | Leetcode |
457 | 467 | Unique Substrings in Wraparound String | Medium | Java | Leetcode |
458 | 520 | Detect Capital | Easy | Java | Leetcode |
459 | 525 | Contiguous Array HashMap | Medium | Java | Leetcode |
460 | 540 | Single Element in a Sorted Array | Medium | Java | Leetcode |
461 | 557 | Reverse Words in a String III | Easy | Java | Leetcode |
462 | 523 | Continuous Subarray Sum | Medium | Java | Leetcode |
463 | 524 | Longest Word in Dictionary through Deleting | Medium | Java | Leetcode |
464 | 441 | Arranging Coins | Easy | Java | Leetcode |
465 | 436 | Find Right Interval TreeMap | Medium | Java | Leetcode |
466 | 485 | Max Consecutive Ones | Easy | Java | Leetcode |
467 | 513 | Find Bottom Left Tree Value | Medium | Java | Leetcode |
468 | 506 | Relative Ranks | Easy | Java | Leetcode |
469 | 474 | Ones and Zeroes Dynamic Programming | Medium | Java | Leetcode |
470 | 563 | Binary Tree Tilt | Easy | Java | Leetcode |
471 | 565 | Array Nesting | Medium | Java | Leetcode |
472 | 554 | Brick Wall | Medium | Java | Leetcode |
473 | 566 | Reshape the Matrix | Easy | Java | Leetcode |
474 | 567 | Permutation in String Sliding Window | Medium | Java | Leetcode |
475 | 575 | Distribute candies | Easy | Java | Leetcode |
476 | 583 | Delete Operation for Two Strings | Medium | Java | Leetcode |
477 | 156 | Binary Tree Upside Down Reverse Tree | Medium | Java | Leetcode |
478 | 159 | Longest Substring with At Most Two Distinct Characters | Hard | Java | Leetcode |
479 | 170 | Two Sum III - Data structure design | Easy | Java | Leetcode |
480 | 265 | Paint House II | Hard | Java | Leetcode |
481 | 266 | Palindrome Permutation | Easy | Java | Leetcode |
482 | 267 | Palindrome Permutation II Backtracking | Medium | Java | Leetcode |
483 | 293 | Flip Game | Easy | Java | Leetcode |
484 | 294 | Flip Game II recursion/memorization | Medium | Java | Leetcode |
485 | 281 | Zigzag Iterator | Medium | Java | Leetcode |
486 | 271 | Encode and Decode Strings | Medium | Java | Leetcode |
487 | 276 | Paint Fence | Easy | Java | Leetcode |
488 | 296 | Best Meeting Point | Hard | Java | Leetcode |
489 | 339 | Nested List Weight Sum | Easy | Java | Leetcode |
490 | 346 | Moving Average from Data Stream | Easy | Java | Leetcode |
491 | 320 | Generalized Abbreviation | Medium | Java | Leetcode |
492 | 357 | Count Numbers with Unique Digits | Medium | Java | Leetcode |
493 | 359 | Logger Rate Limiter | Easy | Java | Leetcode |
494 | 360 | Sort Transformed Array | Medium | Java | Leetcode |
495 | 362 | Design Hit Counter | Medium | Java | Leetcode |
496 | 364 | Nested List Weight Sum II | Medium | Java | Leetcode |
497 | 366 | Find Leaves of Binary Tree Java Concept | Medium | Java | Leetcode |
498 | 369 | Plus One Linked List | Medium | Java | Leetcode |
499 | 370 | Range Addition Range Caching | Medium | Java | Leetcode |
500 | 408 | Valid Word Abbreviation | Easy | Java | Leetcode |
501 | 422 | Valid Word Square | Easy | Java | Leetcode |
502 | 418 | Sentence Screen Fitting | Medium | Java | Leetcode |
503 | 439 | Ternary Expression Parser | Medium | Java | Leetcode |
504 | 484 | Find Permutation | Medium | Java | Leetcode |
505 | 681 | Next Closest Time | Medium | Java | Leetcode |
506 | 325 | Maximum Size Subarray Sum Equals k Very Good | Medium | Java | Leetcode |
507 | 272 | Closest Binary Search Tree Value II | Hard | Java | Leetcode |
508 | 624 | Maximum Distance in Arrays | Easy | Java | Leetcode |
509 | 351 | Android Unlock Patterns | Medium | Java | Leetcode |
510 | 544 | Output Contest Matches | Medium | Java | Leetcode |
511 | 616 | Add Bold Tag in String Merge Interval | Medium | Java | Leetcode |
512 | 758 | Bold Words in String | Medium | Java | Leetcode |
513 | 490 | Maze I BFS DFS | Medium | Java | Leetcode |
514 | 505 | Maze II BFS DFS Dijstra Very Good | Medium | Java | Leetcode |
515 | 499 | Maze III BFS DFS | Hard | Java | Leetcode |
516 | 562 | Longest Line of Consecutive One in Matrix | Medium | Java | Leetcode |
517 | 635 | Design Log Storage System | Medium | Java | Leetcode |
518 | 734 | Sentence Similarity | Easy | Java | Leetcode |
519 | 737 | Sentence Similarity II build graph and Union Find | Medium | Java | Leetcode |
520 | 760 | Find Anagram Mapping | Easy | Java | Leetcode |
521 | 504 | Base 7 | Easy | Java | Leetcode |
522 | 516 | Longest Palindromic Subsequence Dynamic Programming | Medium | Java | Leetcode |
523 | 730 | Count Different Palindromic Subsequences Challenging DP | Hard | Java | Leetcode |
524 | 594 | Longest Harmonious Subsequence HashMap | Easy | Java | Leetcode |
525 | 599 | Minimum Index Sum of Two Lists | Easy | Java | Leetcode |
526 | 628 | Maximum Product of Three Numbers | Easy | Java | Leetcode |
527 | 633 | Sum of Square Numbers Two points | Easy | Java | Leetcode |
528 | 623 | Add One Row to Tree | Medium | Java | Leetcode |
529 | 637 | Average of Levels in Binary Tree | Easy | Java | Leetcode |
530 | 638 | Shopping Offers DFS meomo | Medium | Java | Leetcode |
531 | 653 | Two Sum IV - Input is a BST | Easy | Java | Leetcode |
532 | 648 | Replace Words Trie | Medium | Java | Leetcode |
533 | 665 | Non-decreasing Array | Medium | Java | Leetcode |
534 | 652 | Find Duplicate Subtrees Recursion/Serialization | Medium | Java | Leetcode |
535 | 654 | Maximum Binary Tree | Medium | Java | Leetcode |
536 | 657 | Judge Route Circle | Easy | Java | Leetcode |
537 | 659 | Split Array into Consecutive Subsequences Greedy | Medium | Java | Leetcode |
538 | 669 | Trim a Binary Search Tree | Easy | Java | Leetcode |
539 | 670 | Maximum Swap number | Medium | Java | Leetcode |
540 | 526 | Beautiful Arrangement backtracking | Medium | Java | Leetcode |
541 | 515 | Find Largest Value in Each Tree Row | Medium | Java | Leetcode |
542 | 531 | Lonely Pixel I Matrix | Medium | Java | Leetcode |
543 | 477 | Total Hamming Distance | Medium | Java | Leetcode |
544 | 473 | Matchsticks to Square Backtracking Partition | Medium | Java | Leetcode |
545 | 491 | Increasing Subsequences Backtracking | Medium | Java | Leetcode |
546 | 498 | Diagonal Traverse | Medium | Java | Leetcode |
547 | 542 | 01 Matrix another kind of BFS | Medium | Java | Leetcode |
548 | 680 | Valid Palindrome II | Easy | Java | Leetcode |
549 | 677 | Map Sum Pairs Trie | Medium | Java | Leetcode |
550 | 695 | Max Area of Island | Easy | Java | Leetcode |
551 | 696 | Count Binary Substrings Very Good | Easy | Java | Leetcode |
552 | 698 | Partition to K Equal Sum Subsets Backtracking Partition Very Good | Medium | Java | Leetcode |
553 | 712 | Minimum ASCII Delete Sum for Two Strings Dynamic Programming | Medium | Java | Leetcode |
554 | 720 | Longest Word in Dictionary Trie | Medium | Java | Leetcode |
555 | 718 | Maximum Length of Repeated Subarray Dynamic Programming | Medium | Java | Leetcode |
556 | 724 | Find Pivot Index | Easy | Java | Leetcode |
557 | 728 | Self Dividing Numbers | Easy | Java | Leetcode |
558 | 729 | My Calendar I | Medium | Java | Leetcode |
559 | 731 | My Calendar II TreeMap Sweep line | Medium | Java | Leetcode |
560 | 732 | My Calendar III TreeMap Sweep line | Hard | Java | Leetcode |
561 | 735 | Asteroid Collision | Medium | Java | Leetcode |
562 | 402 | Remove K Digits monotonic stack | Medium | Java | Leetcode |
563 | 738 | Monotone Increasing Digits | Medium | Java | Leetcode |
564 | 739 | Daily Temperatures Monotonic Stack | Medium | Java | Leetcode |
565 | 740 | Delete and Earn Dynamic Programming and TreeMap | Medium | Java | Leetcode |
566 | 747 | Largest Number At Least Twice of Others | Easy | Java | Leetcode |
567 | 744 | Find Smallest Letter Greater Than Target Binary Search | Easy | Java | Leetcode |
568 | 743 | Network Delay Time Graph Dijkstra Very Good | Medium | Java | Leetcode |
569 | 750 | Number Of Corner Rectangles HashMap | Medium | Java | Leetcode |
570 | 784 | Letter Case Permutation Recursion | Easy | Java | Leetcode |
571 | 766 | Toeplitz Matrix | Easy | Java | Leetcode |
572 | 767 | Reorganize String | Medium | Java | Leetcode |
573 | 769 | Max Chunks To Make Sorted | Medium | Java | Leetcode |
574 | 768 | Max Chunks To Make Sorted II | Hard | Java | Leetcode |
575 | 788 | Rotated Digits | Easy | Java | Leetcode |
576 | 787 | Cheapest Flights Within K Stops Graph Dijkstra | Hard | Java | Leetcode |
577 | 796 | Rotate String | Easy | Java | Leetcode |
578 | 797 | All Paths From Source to Target | Medium | Java | Leetcode |
579 | 800 | Similar RGB Color | Easy | Java | Leetcode |
580 | 792 | Number of Matching Subsequences | Medium | Java | Leetcode |
581 | 795 | Number of Subarrays with Bounded Maximum | Medium | Java | Leetcode |
582 | 804 | Unique Morse Code Words | Easy | Java | Leetcode |
583 | 801 | Minimum Swaps To Make Sequences Increasing Very good Two Alternate 1D DP | Medium | Java | Leetcode |
584 | 807 | Max Increase to Keep City Skyline | Medium | Java | Leetcode |
585 | 814 | Binary Tree Pruning | Medium | Java | Leetcode |
586 | 806 | Number of Lines To Write String | Easy | Java | Leetcode |
587 | 812 | Largest Triangle Area | Easy | Java | Leetcode |
588 | 811 | Subdomain Visit Count | Easy | Java | Leetcode |
589 | 819 | Most Common Word | Easy | Java | Leetcode |
590 | 813 | Largest Sum of Averages 2D DP + 1D DP | Medium | Java | Leetcode |
591 | 821 | Shortest Distance to a Character Good | Easy | Java | Leetcode |
592 | 817 | Linked List Components | Medium | Java | Leetcode |
593 | 832 | Flipping an Image | Easy | Java | Leetcode |
594 | 830 | Positions of Large Groups Two pointers | Easy | Java | Leetcode |
595 | 824 | Goat Latin | Easy | Java | Leetcode |
596 | 829 | Consecutive Numbers Sum | Medium | Java | Leetcode |
597 | 842 | Split Array into Fibonacci Sequence Backtracking | Medium | Java | Leetcode |
598 | 851 | Loud and Rich DFS + memorization | Medium | Java | Leetcode |
599 | 517 | Super Washing Machines | Hard | Java | Leetcode |
600 | 273 | Integer to English Words | Hard | Java | Leetcode |
601 | 268 | Missing Number | Easy | Java | Leetcode |
602 | 689 | Maximum Sum of 3 Non-Overlapping Subarrays Dynamic Programming Very Good | Hard | Java | Leetcode |
603 | 721 | Accounts Merge DFS Union Find | Medium | Java | Leetcode |
604 | 673 | Number of Longest Increasing Subsequence Two Dynamic Programming | Medium | Java | Leetcode |
605 | 785 | Is Graph Bipartite Color DFS | Medium | Java | Leetcode |
606 | 764 | Largest Plus Sign Directional Dynamic Programming | Medium | Java | Leetcode |
607 | 825 | Friends Of Appropriate Ages | Medium | Java | Leetcode |
608 | 71 | Simplify Path Stack | Medium | Java | Leetcode |
609 | 91 | Decode Ways | Medium | Java | Leetcode |
610 | 639 | Decode Ways II | Medium | Java | Leetcode |
611 | 642 | Design Search Autocomplete System Trie | Hard | Java | Leetcode |
612 | 165 | Compare Version Numbers Split | Medium | Java | Leetcode |
613 | 285 | Inorder Successor in BST Very good | Medium | Java | Leetcode |
614 | 333 | Largest BST Subtree Very Good | Medium | Java | Leetcode |
615 | 650 | 2 Keys Keyboard Dynamic Programming | Medium | Java | Leetcode |
616 | 651 | 4 Keys Keyboard Dynamic Programming | Medium | Java | Leetcode |
617 | 419 | Battleships in a Board | Medium | Java | Leetcode |
618 | 805 | Split Array With Same Average Very Good DFS | Hard | Java | Leetcode |
619 | 582 | Kill Process DFS BFS | Medium | Java | Leetcode |
620 | 636 | Exclusive Time of Functions Stack Good | Medium | Java | Leetcode |
621 | 605 | Can Place Flowers Greedy | Easy | Java | Leetcode |
622 | 464 | Can I win DFS + Memo | Medium | Java | Leetcode |
623 | 486 | Predict the Winner DP MinMax | Medium | Java | Leetcode |
624 | 844 | Backspace String Compare | Easy | Java | Leetcode |
625 | 799 | Champagne Tower | Medium | Java | Leetcode |
626 | 479 | Largest Palindrome Product | Medium | Java | Leetcode |
627 | 164 | Maximum Gap | Hard | Java | Leetcode |
628 | 752 | Open the Lock BFS | Medium | Java | Leetcode |
629 | 840 | Magic Squares In Grid | Easy | Java | Leetcode |
630 | 849 | Maximize Distance to Closest Person | Easy | Java | Leetcode |
631 | 838 | Push Dominoes | Medium | Java | Leetcode |
632 | 802 | Find Eventual Safe States Classic Color DFS | Medium | Java | Leetcode |
633 | 778 | Swim in Rising Water PriorityQueue | Hard | Java | Leetcode |
634 | 852 | Peak Index in a Mountain Array | Easy | Java | Leetcode |
635 | 815 | Bus Routes BFS | Hard | Java | Leetcode |
636 | 826 | Most Profit Assigning Work | Medium | Java | Leetcode |
637 | 827 | Making A Large Island | Hard | Java | Leetcode |
638 | 828 | Unique Letter String | Hard | Java | Leetcode |
639 | 867 | Transpose Matrix | Easy | Java | Leetcode |
640 | 833 | Find And Replace in String | Medium | Java | Leetcode |
641 | 841 | Keys and Rooms Classic DFS BFS | Medium | Java | Leetcode |
642 | 845 | Longest Mountain in Array | Medium | Java | Leetcode |
643 | 846 | Hand of Straights | Medium | Java | Leetcode |
644 | 848 | Shifting Letters Prefix Sum | Medium | Java | Leetcode |
645 | 856 | Score of Parentheses Stack Very Good | Medium | Java | Leetcode |
646 | 860 | Lemonade Change | Easy | Java | Leetcode |
647 | 859 | Buddy String | Easy | Java | Leetcode |
648 | 861 | Score After Flipping Matrix Greedy | Medium | Java | Leetcode |
649 | 858 | Mirror Reflection | Medium | Java | Leetcode |
650 | 834 | Sum of Distances in Tree Very Good Tree Graph | Hard | Java | Leetcode |
651 | 835 | Image Overlap | Medium | Java | Leetcode |
652 | 862 | Shortest Subarray with Sum at Least K Monotonic Stack | Hard | Java | Leetcode |
653 | 863 | All Nodes Distance K in Binary Tree Graph | Medium | Java | Leetcode |
654 | 823 | Binary Trees With Factors Dynamic Programming | Medium | Java | Leetcode |
655 | 868 | Binary Gap | Easy | Java | Leetcode |
656 | 865 | Smallest Subtree with all the Deepest Nodes Label TreeNode Depth | Medium | Java | Leetcode |
657 | 870 | Advantage Shuffle Greedy | Medium | Java | Leetcode |
658 | 869 | Reordered Power of 2 | Medium | Java | Leetcode |
659 | 401 | Binary Watch Permutation | Easy | Java | Leetcode |
660 | 400 | Nth Digit | Easy | Java | Leetcode |
661 | 201 | Bitwise AND of Numbers Range | Medium | Java | Leetcode |
662 | 397 | Integer Replacement | Medium | Java | Leetcode |
663 | 385 | Mini Parser | Medium | Java | Leetcode |
664 | 421 | Maximum XOR of Two Numbers in an Array Trie+Bit | Medium | Java | Leetcode |
665 | 399 | Evaluate Division Graph Very Good | Medium | Java | Leetcode |
666 | 458 | Poor Pigs | Easy | Java | Leetcode |
667 | 390 | Elimination Game | Medium | Java | Leetcode |
668 | 855 | Exam Room | Medium | Java | Leetcode |
669 | 313 | Super Ugly Number | Medium | Java | Leetcode |
670 | 327 | Count of Range Sum | Hard | Java | Leetcode |
671 | 429 | N-ary Tree Level Order Traversal | Easy | Java | Leetcode |
672 | 589 | N-ary Tree Preorder Traversal | Easy | Java | Leetcode |
673 | 590 | N-ary Tree Postorder Traversal | Easy | Java | Leetcode |
674 | 430 | Flatten a Multilevel Doubly Linked List DFS + LinkedList | Medium | Java | Leetcode |
675 | 470 | Implement Rand10() Using Rand7() | Medium | Java | Leetcode |
676 | 475 | Heaters Two pointers | Easy | Java | Leetcode |
677 | 482 | License Key Formatting | Easy | Java | Leetcode |
678 | 559 | Maximum Depth of N-ary Tree | Easy | Java | Leetcode |
679 | 576 | Out of Boundary Paths Very Good Dynamic Programming | Medium | Java | Leetcode |
680 | 622 | Design Circular Queue | Medium | Java | Leetcode |
681 | 632 | Smallest Range PriorityQueue like Merge K array Very Good | Hard | Java | Leetcode |
682 | 641 | Design Circular Deque | Medium | Java | Leetcode |
683 | 655 | Print Binary Tree Good DFS BFS | Medium | Java | Leetcode |
684 | 687 | Longest Univalue Path Very Good | Easy | Java | Leetcode |
685 | 690 | Employee Importance BFS DFS | Easy | Java | Leetcode |
686 | 693 | Binary Number with Alternating Bits | Easy | Java | Leetcode |
687 | 684 | Redundant Connection DFS Union Find | Medium | Java | Leetcode |
688 | 685 | Redundant Connection II DFS Union Find | Hard | Java | Leetcode |
689 | 700 | Search in a Binary Search Tree | Easy | Java | Leetcode |
690 | 701 | Insert into a Binary Search Tree | Medium | Java | Leetcode |
691 | 703 | Kth Largest Element in a Stream | Easy | Java | Leetcode |
692 | 704 | Binary Search | Easy | Java | Leetcode |
693 | 705 | Design HashSet | Easy | Java | Leetcode |
694 | 706 | Design HashMap | Easy | Java | Leetcode |
695 | 707 | Design Linked List | Easy | Java | Leetcode |
696 | 709 | To Lower Case | Easy | Java | Leetcode |
697 | 702 | Search in a Sorted Array of Unknown Size | Medium | Java | Leetcode |
698 | 715 | Range Module | Hard | Java | Leetcode |
699 | 403 | Frog Jump | Hard | Java | Leetcode |
700 | 717 | 1-bit and 2-bit Characters | Easy | Java | Leetcode |
701 | 719 | Find K-th Smallest Pair Distance | Hard | Java | Leetcode |
XXX | XXX | Binary Search Template | |||
702 | 786 | K-th Smallest Prime Fraction | Hard | Java | Leetcode |
703 | 872 | Leaf-Similar Trees | Easy | Java | Leetcode |
704 | 668 | Kth Smallest Number in Multiplication Table | Hard | Java | Leetcode |
705 | 727 | Minimum Window Subsequence Dynamic Programming Very Good | Hard | Java | Leetcode |
706 | 115 | Distinct Subsequences Dynamic Programming | Hard | Javav | Leetcode |
707 | 876 | Middle of the Linked List | Easy | Java | Leetcode |
708 | 354 | Russian Doll Envelopes LIS | Hard | Java | Leetcode |
709 | 363 | Max Sum of Rectangle No Larger Than K | Hard | Java | Leetcode |
710 | 428 | Serialize and Deserialize N-ary Tree | Hard | Java | Leetcode |
711 | 440 | K-th Smallest in Lexicographical Order | Hard | Java | Leetcode |
712 | 472 | Concatenated Words DFS Trie Dynamic Programming | Hard | Java | Leetcode |
713 | 480 | Sliding Window Median | Hard | Java | Leetcode |
714 | 492 | Construct Rectangle | Easy | Java | Leetcode |
715 | 493 | Reverse Pairs Merge Sort | Hard | Java | Leetcode |
716 | 507 | Perfect Number | Easy | Java | Leetcode |
717 | 514 | Freedom Trail Dynamic Programming | Hard | Java | Leetcode |
718 | 551 | Student Attendance Record | Easy | Java | Leetcode |
719 | 552 | Student Attendance Record II Dynamic Programming | Hard | Java | Leetcode |
720 | 548 | Split Array with Equal Sum | Medium | Java | Leetcode |
721 | 604 | Design Compressed String Iterator | Easy | Java | Leetcode |
722 | 588 | Design In-Memory File System TrieNode | Hard | Java | Leetcode |
723 | 609 | Find Duplicate File in System | Medium | Java | Leetcode |
724 | 600 | Non-negative Integers without Consecutive Ones | Hard | Java | Leetecode |
725 | 630 | Course Schedule III | Hard | Java | Leetcode |
726 | 676 | Implement Magic Dictionary | Medium | Java | Leetcode |
727 | 679 | 24 Game Backtracking | Hard | Java | Leetcode |
728 | 683 | K Empty Slots Sliding Window | Hard | Java | Leetcode |
729 | 691 | Stickers to Spell Word Dynamic Programming + Backtracking | Hard | Java | Leetcode |
730 | 884 | Uncommon Words from Two Sentences | Easy | Java | Leetcode |
731 | 716 | Max Stack | Hard | Java | Leetcode |
732 | 723 | Candy Crush Two Pointers | Medium | Java | Leetcode |
733 | 883 | Projection Area of 3D Shapes | Easy | Java | Leetcode |
734 | 726 | Number of Atoms Recursion | Hard | Java | Leetcode |
735 | 748 | Shortest Completing Word | Medium | Java | Leetcode |
736 | 888 | Fair Candy Swap | Easy | Java | Leetcode |
737 | 745 | Prefix and Suffix Search | Hard | Java | Leetcode |
738 | 753 | Cracking the Safe Backtracking | Hard | Java | Leetcode |
739 | 754 | Reach a Number | Medium | Java | Leetcode |
740 | 756 | Pyramid Transition Matrix DFS + Backtracking | Medium | Java | Leetcode |
741 | 759 | Employee Free Time Merge Interval | Hard | Java | Leetcode |
742 | 761 | Special Binary String Recursion Very Good | Hard | Java | Leetcode |
743 | 765 | Couples Holding Hands Union Find | Hard | Java | Leetcode |
744 | 773 | Sliding Puzzle Backtracking BFS | Hard | Java | Leetcode |
745 | 774 | Minimize Max Distance to Gas Station Binary Search | Hard | Java | Leetcode |
746 | 777 | Swap Adjacent in LR String Very good | Medium | Java | Leetcode |
747 | 779 | K-th Symbol in Grammar Recursion | Medium | Java | Leetcode |
748 | 781 | Rabbits in Forest | Medium | Java | Leetcode |
749 | 780 | Reaching Points | Hard | Java | Leetcode |
750 | 793 | Preimage Size of Factorial Zeroes Function Binary Search | Hard | Java | Leetcode |
751 | 798 | Smallest Rotation with Highest Score | Hard | Java | Leetcode |
752 | 809 | Expressive Words | Medium | Java | Leetcode |
753 | 810 | Chalkboard XOR Game | Hard | Java | Leetcode |
754 | 816 | Ambiguous Coordinates | Medium | Java | Leetcode |
755 | 820 | Short Encoding of Words Trie | Medium | Java | Leetcode |
756 | 831 | Masking Personal Information | Medium | Java | Leetcode |
757 | 822 | Card Flipping Game | Medium | Java | Leetcode |
758 | 893 | Groups of Special-Equivalent Strings Compare two HashMap | Easy | Java | Leetcode |
759 | 837 | New 21 Game Dynamic Programming | Medium | Java | Leetcode |
760 | 839 | Similar String Groups Union Find | Hard | Java | Leetcode |
761 | 892 | Surface Area of 3D Shapes | Easy | Java | Leetcode |
762 | 889 | Construct Binary Tree from Preorder and Postorder Traversal | Medium | Java | Leetcode |
763 | 818 | Race Car | Hard | Java | Leetcode |
764 | 847 | Shortest Path Visiting All Nodes BFS Classic | Hard | Java | Leetcode |
765 | 864 | Shortest Path to Get All Keys BFS Classic | Hard | Java | Leetcode |
766 | 896 | Monotonic Array | Easy | Java | Leetcode |
767 | 853 | Car Fleet | Medium | Java | Leetcode |
768 | 897 | Increasing Order Search Tree | Easy | Java | Leetcode |
769 | 873 | Length of Longest Fibonacci Subsequence Dynamic Programming | Medium | Java | Leetcode |
770 | 854 | K-Similar Strings Classic BFS | Hard | Java | Leetcode |
771 | 857 | Minimum Cost to Hire K Workers | Hard | Java | Leetcode |
772 | 874 | Walking Robot Simulation | Easy | Java | Leetcode |
773 | 875 | Koko Eating Bananas Binary Search | Medium | Java | Leetcode |
774 | 871 | Minimum Number of Refueling Stops | Hard | Java | Leetcode |
775 | 877 | Stone Game | Medium | Java | Leetcode |
776 | 878 | Nth Magical Number | Hard | Java | Leetcode |
777 | 880 | Decoded String at Index | Medium | Java | Leetcode |
778 | 881 | Boats to Save People | Medium | Java | Leetcode |
779 | 905 | Sort Array By Parity | Easy | Java | Leetcode |
780 | 890 | Find and Replace Pattern | Medium | Java | Leetcode |
781 | 886 | Possible Bipartition DFS Color | Medium | Java | Leetcode |
782 | 879 | Profitable Schemes | Hard | Java | Leetcode |
783 | 894 | All Possible Full Binary Trees Recursion | Medium | Java | Leetcode |
784 | 895 | Maximum Frequency Stack Very Good LFU | Hard | Java | Leetcode |
785 | 898 | Bitwise ORs of Subarrays | Medium | Java | Leetcode |
786 | 904 | Fruit Into Baskets Sliding Window | Medium | Java | Leetcode |
787 | 885 | Spiral Matrix III | Medium | Java | Leetcode |
788 | 887 | Super Egg Drop | Hard | Java | Leetcode |
789 | 900 | RLE Iterator | Medium | Java | Leetcode |
790 | 891 | Sum of Subsequence Widths | Hard | Java | Leetcode |
791 | 901 | Online Stock Span Monotonic Stack | Medium | Java | Leetcode |
792 | 899 | Orderly Queue | Hard | Java | Leetcode |
793 | 903 | Valid Permutations for DI Sequence Dynamic Programming | Hard | Java | Leetcode |
794 | 908 | Smallest Range I | Easy | Java | Leetcode |
795 | 910 | Smallest Range II | Medium | Java | Leetcode |
796 | 911 | Online Election | Medium | Java | Leetcode |
797 | 907 | Sum of Subarray Minimums Dynamic Programming + Monotonic Stack | Hard | Java | Leetcode |
798 | 65 | Valid Number | Hard | Java | Leetcode |
799 | 37 | Sudoku Solver Backtracking | Hard | Java | Leetcode |
800 | 126 | Word ladder II | Hard | Java | Leetcode |
801 | 163 | Missing Ranges | Medium | Java | Leetcode |
802 | 286 | Walls and Gates | Medium | Java | Leetcode |
803 | 288 | Unique Word Abbreviation | Medium | Java | Leetcode |
804 | 291 | Word Pattern II Backtracking | Hard | Java | Leetcode |
805 | 353 | Design Snake Game | Medium | Java | Leetcode |
806 | 361 | Bomb Enemy | Medium | Java | Leetcode |
807 | 379 | Design Phone Directory | Medium | Java | Leetcode |
808 | 302 | Smallest Rectangle Enclosing Black Pixels Binary Search | Hard | Java | Leetcode |
809 | 487 | Max Consecutive Ones II | Medium | Java | Leetcode |
810 | 471 | Encode String with Shortest Length 2D Dynamic Programming | Hard | Java | Leetcode |
811 | 465 | Optimal Account Setting | Hard | Java | Leetcode |
812 | 489 | Robot clean room | Hard | Java | Leetcode |
813 | 555 | Split Concatenated Strings | Medium | Java | Leetcode |
814 | 157 | Read N Characters Given Read4 | Easy | Java | Leetcode |
815 | 666 | Path Sum IV | Medium | Java | Leetcode |
816 | 755 | Pour Water Two points | Medium | Java | Leetcode |
817 | 656 | Coin Path | Hard | Java | Leetcode |
818 | 317 | Shortest Distance from All Buildings BFS | Hard | Java | Leetcode |
819 | 358 | Rearrange String k Distance Apart | Hard | Java | Leetcode |
820 | 634 | Find the Derangement of An Array | Medium | Java | Leetcode |
821 | 356 | Line Reflection | Medium | Java | Leetcode |
822 | 625 | Minimum Factorization | Medium | Java | Leetcode |
823 | 444 | Sequence Reconstruction BFS Topological | Medium | Java | Leetcode |
824 | 660 | Remove 9 Convert 10-based to x-based | Hard | Java | Leetcode |
825 | 568 | Maximum Vacation Days Dynamic Programming | Hard | Java | Leetcode |
826 | 914 | X of a Kind in a Deck of Cards gcd | Easy | Java | Leetcode |
827 | 915 | Partition Array into Disjoint Intervals Good | Medium | Java | Leetcode |
828 | 917 | Reverse Only Letters | Easy | Java | Leetcode |
829 | 916 | Word Subsets | Medium | Java | Leetcode |
830 | 918 | Maximum Sum Circular Subarray Very Good | Medium | Java | Leetcode |
831 | 919 | Complete Binary Tree Inserter | Medium | Java | Leetcode |
832 | 920 | Number of Music Playlists Dynamic Programming | Hard | Java | Leetcode |
833 | 922 | Sort Array By Parity II | Easy | Java | Leetcode |
834 | 921 | Minimum Add to Make Parentheses Valid | Medium | Java | Leetcode |
835 | 923 | 3Sum With Multiplicity Very Good | Medium | Java | Leetcode |
836 | 924 | Minimize Malware Spread Union Find | Hard | Java | Leetcode |
837 | 200 | Number of islands | Medium | Java | Leetcode |
838 | 925 | Long Pressed Name | Easy | Java | Leetcode |
839 | 926 | Flip String to Monotone Increasing | Medium | Java | Leetcode |
840 | 927 | Three Equal Parts | Hard | Java | Leetcode |
841 | 928 | Minimize Malware Spread II Union Find | Hard | Java | Leetcode |
842 | 929 | Unique Email Addresses | Easy | Java | Leetcode |
843 | 930 | Binary Subarrays With Sum Prefix Very Good | Medium | Java | Leetcode |
844 | 931 | Minimum Falling Path Sum | Medium | Java | Leetcode |
XXX | XXX | Trie Template | |||
845 | 933 | Number of Recent Calls Treemap | Easy | Java | Leetcode |
846 | 934 | Shortest Bridge BFS | Medium | Java | Leetcode |
847 | 935 | Knight Dialer | Medium | Java | Leetcode |
848 | 427 | Construct Quad Tree Recursion | Medium | Java | Leetcode |
849 | 938 | Range Sum of BST | Medium | Java | Leetcode |
850 | 937 | Reorder log files | Easy | Java | Leetcode |
851 | 940 | Distinct Subsequences II Dynamic Very Good | Hard | Java | Leetcode |
852 | 939 | Minimum Area Rectangle | Medium | Java | Leetcode |
853 | 29 | Divide Two Integers | Medium | Java | Leetcode |
854 | 941 | Valid Mountain Array Good Two Pointers | Easy | Java | Leetcode |
855 | 942 | DI String Match Two Pointers | Easy | Java | Leetcode |
856 | 944 | Delete Columns to Make Sorted | Medium | Java | Leetcode |
857 | 34 | Find First and Last Position of Element in Sorted Array | Medium | Java | Leetcode |
858 | 945 | Minimum Increment to Make Array Unique Good | Medium | Java | Leetcode |
859 | 946 | Validate Stack Sequences Stack Good | Medium | Java | Leetcode |
860 | 948 | Bag of Tokens | Medium | Java | Leetcode |
861 | 947 | Most Stones Removed with Same Row or Column Union Find Good | Medium | Java | Leetcode |
862 | 74 | Search a 2D Matrix Good | Medium | Java | Leetcode |
863 | 722 | Remove Comments | Medium | Java | Leetcode |
864 | 949 | Largest Time for Given Digits Permutation | Easy | Java | Leetcode |
865 | 951 | Flip Equivalent Binary Trees Good | Medium | Java | Leetcode |
866 | 950 | Reveal Cards In Increasing Order Very Good | Medium | Java | Leetcode |
867 | 952 | Largest Component Size by Common Factor Union Find Very Good | Hard | Java | Leetcode |
868 | 232 | Implement queue using stacks | Easy | Java | Leetcode |
869 | 953 | Verifying an Alien Dictionary | Easy | Java | Leetcode |
870 | 954 | Array of Doubled Pairs | Medium | Java | Leetcode |
871 | 955 | Delete Columns to Make Sorted II Greedy | Medium | Java | Leetcode |
872 | 794 | Valid Tic-Tac-Toe State | Medium | Java | Leetcode |
873 | 956 | Tallest Billboard Dynamic Programming HashMap | Hard | Java | Leetcode |
874 | 957 | Prison Cells After N Days HashSet | Medium | Java | Leetcode |
875 | 958 | Check Completeness of a Binary Tree Good | Medium | Java | Leetcode |
876 | 959 | Regions Cut By Slashes Very Good | Medium | Java | Leetcode |
877 | 960 | Delete Columns to Make Sorted III Longest Increasing Subsequence Very Good | Hard | Java | Leetcode |
878 | 132 | Palindrome Partitioning II | Hard | Java | Leetcode |
879 | 961 | N-Repeated Element in Size 2N Array | Easy | Java | Leetcode |
880 | 962 | Maximum Width Ramp Monotonic Stack Very Good | Medium | Java | Leetcode |
881 | 963 | Minimum Area Rectangle II | Medium | Java | Leetcode |
882 | 964 | Least Operators to Express Number DFS + memo | Hard | Java | Leetcode |
883 | 674 | Longest Continuous Increasing Subsequence | Easy | Java | Leetcode |
884 | 68 | Text Justification | Hard | Java | Leetcode |
885 | 965 | Univalued Binary Tree | Easy | Java | Leetcode |
886 | 966 | Vowel Spellchecker Good | Medium | Java | Leetcode |