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 Very Good |
Medium |
Java |
Lintcode |
14 |
643 |
System Longest File Path.java |
Medium |
Java |
Lintcode |
15 |
419 |
Roman to Integer |
Medium |
Java |
Lintcode |
16 |
418 |
Integer to Roman Good |
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 Very Good |
Medium |
Java |
Lintcode |
22 |
30 |
Insert Interval Very Good |
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 LIS Very Good |
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 Very Good |
Medium |
Java |
Lintcode |
33 |
651 |
Binary Tree Vertical Order Traversal Very Good |
Medium |
Java |
Lintcode |
34 |
628 |
Maximum Subtree.java |
Easy |
Java |
Lintcode |
35 |
270 |
Closest Binary Search Tree Value Very 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 Very Good |
Easy |
Java |
Lintcode |
49 |
656 |
Big Integer Multiplication Very Good |
Medium |
Java |
Lintcode |
50 |
408 |
Add Binary.java |
Medium |
Java |
Lintcode |
51 |
167 |
Add Two Numbers.java |
Easy |
Java |
Lintcode |
52 |
428 |
Pow Good |
Medium |
Java |
Lintcode |
53 |
433 |
Number of Islands Very Good |
Easy |
Java |
Lintcode |
54 |
107 |
Word Break Good |
Medium |
Java |
Lintcode |
55 |
3 |
Longest Substring Without Repeating Chars Sliding Window Very Good |
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 Dynamic Very Good |
Medium |
Java |
Leetcode |
61 |
697 |
Degree of Array HashMap Good |
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 Very Good |
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 Very Good |
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 Merge Sort Good |
Medium |
Java |
Leetcode |
91 |
23 |
Merge k Sorted Lists Merge Sort Very Good |
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 Very Good |
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 |
3Sum Closest |
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 Rainbow sort Good |
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 Sliding Window Very Good |
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 Very Good |
Medium |
Java |
Leetcode |
112 |
613 |
High Five Good |
Medium |
Java |
Lintcode |
113 |
401 |
Kth Smallest Number in a Sorted Matrix Good Binary Search |
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 LIS Very Good |
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 Sliding window Good |
Medium |
Java |
Leetcode |
123 |
152 |
Maximum Product Subarray Dynamic Good |
Medium |
Java |
Leetcode |
124 |
406 |
Minimum Size Subarray Sum Sliding window good |
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 |
Reverse String |
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 Good |
Medium |
Java |
Leetcode |
144 |
413 |
Arithmetic Slices Very Good |
Medium |
Java |
Leetcode |
145 |
328 |
Odd Even Linked List Good |
Medium |
Java |
Leetcode |
146 |
92 |
Reverse Linked List II Good |
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 backtracking |
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 Very Good |
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 Good |
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 Good |
Easy |
Java |
Leetcode |
163 |
234 |
Palindrome Linked List.java |
Easy |
Java |
Leetcode |
164 |
279 |
Perfect Squares LIS |
Medium |
Java |
Leetcode |
165 |
237 |
Delete Node in a Linked List.java |
Easy |
Java |
Leetcode |
166 |
238 |
Product of Array Except Self Very Good |
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 Very Good |
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 Good |
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 PQ comparator Good |
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 Good |
Medium |
Java |
Lintcode |
183 |
511 |
Swap Two Nodes in Linked List.java |
Medium |
Java |
Lintcode |
184 |
99 |
Reorder List find middle and reverse |
Medium |
Java |
Lintcode |
185 |
170 |
Rotate List Good Two pointers |
Medium |
Java |
Lintcode |
186 |
106 |
Convert Sorted List to Balanced BST Tree LinkedList |
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 Good |
Medium |
Java |
Lintcode |
190 |
49 |
Sort Letters by Case Two Pointers |
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 Good Greedy |
Medium |
Java |
Lintcode |
195 |
117 |
Jump Game II Good Greedy |
Medium |
Java |
Lintcode |
196 |
604 |
Window Sum.java |
Easy |
Java |
Lintcode |
197 |
80 |
Remove Duplicates from Sorted Array II Very Good |
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 Good |
Easy |
Java |
Leetcode |
201 |
22 |
Generate Parentheses DFS Very Good |
Medium |
Java |
Leetcode |
202 |
131 |
Palindrome Partitioning Recursion Memo Very Good |
Medium |
Java |
Leetcode |
203 |
545 |
Boundary of Binary Tree Very Good |
Medium |
Java |
Leetcode |
204 |
42 |
Trapping Rain Water Good |
Hard |
Java |
Leetcode |
205 |
675 |
Cut Off Trees for Golf Event Very Good PQ + BFS |
Hard |
Java |
Leetcode |
206 |
460 |
LFU Cache Very Good |
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 Label Full Binary Tree Very Good |
Medium |
Java |
Leetcode |
217 |
661 |
Image Smoother.java |
Easy |
Java |
Leetcode |
218 |
646 |
Maximum Length of Pair Chain LIS Very Good |
Medium |
Java |
Leetcode |
219 |
645 |
Set Mismatch.java |
Easy |
Java |
Leetcode |
220 |
606 |
Construct String from Binary Tree Good |
Easy |
Java |
Leetcode |
221 |
536 |
Construct Binary Tree from String Recursion Good |
Medium |
Java |
Leetcode |
222 |
553 |
Optimal Division.java |
Medium |
Java |
Leetcode |
223 |
459 |
Repeated Substring Pattern Good |
Easy |
Java |
Leetcode |
224 |
686 |
Repeated String Match Good |
Easy |
Java |
Leetcode |
225 |
396 |
Rotate Function.java |
Medium |
Java |
Leetcode |
226 |
14 |
Longest Common Prefix.java |
Easy |
Java |
Leetcode |
227 |
31 |
Next Permutation Good |
Medium |
Java |
Leetcode |
228 |
38 |
Count and Say.java |
Easy |
Java |
Leetcode |
229 |
41 |
First Missing Positive Good |
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 Very Good |
Medium |
Java |
Leetcode |
234 |
106 |
Construct Binary Tree from Inorder and Postorder Traversal Very Good |
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 Very Good |
Medium |
Java |
Leetcode |
239 |
134 |
Gas Station Good |
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 Good Binary Search |
Medium |
Java |
Leetcode |
243 |
166 |
Fraction to Recurring Decimal Good |
Medium |
Java |
Leetcode |
244 |
169 |
Majority Element Very Good |
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 Very Good |
Hard |
Java |
Leetcode |
249 |
198 |
House Robber Very Good |
Easy |
Java |
Leetcode |
250 |
202 |
Happy Number Good |
Easy |
Java |
Leetcode |
251 |
208 |
Implement Trie Very Good |
Medium |
Java |
Leetcode |
252 |
213 |
House Robber II Very Good |
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 Airbnb |
Medium |
Java |
Leetcode |
256 |
252 |
Meeting Rooms Very Good |
Easy |
Java |
Leetcode |
257 |
253 |
Meeting Rooms II TreeMap Sweep line Very Good |
Medium |
Java |
Leetcode |
258 |
269 |
Alien Dictionary Topological sort Very good |
Hard |
Java |
Leetcode |
259 |
289 |
Game of Life use Bit |
Medium |
Java |
Leetcode |
260 |
225 |
Implement Stack Using Queue.java |
Medium |
Java |
Leetcode |
261 |
295 |
Find Median from Data Stream Very Good PriorityQueue |
Hard |
Java |
Leetcode |
262 |
322 |
Coin Change Dynamic Programming 2D Good |
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 Very Good |
Hard |
Java |
Leetcode |
266 |
334 |
Increasing Triplet Subsequence Good |
Medium |
Java |
Leetcode |
267 |
340 |
Longest Substring with At Most K Distinct Characters Sliding Window Very Good |
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 Good |
Medium |
Java |
Leetcode |
279 |
259 |
3Sum Smaller Good |
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 Very Good |
Hard |
Java |
Leetcode |
283 |
805 |
Maxium Association Set |
Medium |
Java |
Lintcode |
284 |
79 |
Word Search backtracking Very Good |
Medium |
Java |
Leetcode |
285 |
212 |
Word Search II backtracking Trie Very Good |
Hard |
Java |
Leetcode |
286 |
336 |
Palindrome Pair Good Cases |
Hard |
Java |
Leetcode |
287 |
549 |
Binary Tree Longest Consecutive Sequence II Very Good |
Medium |
Java |
Leetcode |
288 |
44 |
Wildcard Matching Very Good |
Hard |
Java |
Leetcode |
289 |
10 |
Regular Expression Matching Very Good |
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 Good |
Medium |
Java |
Leetcode |
293 |
9 |
Palindrome Number Good |
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 Very Good |
Medium |
Java |
Leetcode |
297 |
384 |
Longest Substring Without Repeating Characters Sliding Window |
Medium |
Java |
Lintcode |
XXX |
XXX |
Union Find Template |
|
|
|
298 |
305 |
Number of Islands II Union Find Good |
Hard |
Java |
Leetcode |
299 |
364 |
Trapping Rain Water II Very Good |
Hard |
Java |
Lintcode |
300 |
81 |
Data Stream Median |
Hard |
Java |
Lintcode |
301 |
575 |
Expression Expand Very Good |
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 Sweep line |
Medium |
Java |
Lintcode |
311 |
221 |
Maximal Square Dynamic Programming Good |
Medium |
Java |
Leetcode |
312 |
397 |
Longest Increasing Continuous Subsequence |
Easy |
Java |
Lintcode |
313 |
398 |
Longest Increasing Continuous Subsequence 2D DFS + memo |
Hard |
Java |
Lintcode |
314 |
394 |
Coins in a Line I Dynamic Programming Good |
Medium |
Java |
Lintcode |
315 |
395 |
Coins in a Line II Dynamic Programming Very Good |
Medium |
Java |
Lintcode |
316 |
312 |
Burst Balloons Divide Conquer Very Good |
Hard |
Java |
Leetcode |
317 |
77 |
Longest Common Subsequence (LCS) |
Medium |
Java |
Lintcode |
318 |
79 |
Longest Common Substring |
Medium |
Java |
Lintcode |
319 |
92 |
Backpack Very Good |
Medium |
Java |
Lintcode |
320 |
125 |
Backpack II Very Good |
Medium |
Java |
Lintcode |
321 |
663 |
Equal Tree Partition Tree Sum Very Good HashMap+Tree |
Medium |
Java |
Leetcode |
322 |
791 |
Custom Sort String |
Medium |
Java |
Leetcode |
323 |
742 |
Closest Leaf in a Binary Tree Very Good Convert Tree to Graph |
Medium |
Java |
Leetcode |
324 |
776 |
Split BST Good |
Medium |
Java |
Leetcode |
325 |
8 |
String to Integer (atoi) |
Medium |
Java |
Leetcode |
326 |
11 |
Container With Most Water Good |
Medium |
Java |
Leetcode |
327 |
35 |
Search Insert Position Binary Search Very Good Must see |
Easy |
Java |
Leetcode |
328 |
24 |
Swap Nodes in Pairs Good |
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 Good |
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 Good |
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) DP |
Medium |
Java |
Leetcode |
345 |
95 |
Unique Binary Search Trees II Recursion |
Medium |
Java |
Leetcode |
346 |
87 |
Scramble String Recursion |
Hard |
Java |
Leetcode |
347 |
97 |
Interleaving String Dynamic Programming Very Good |
Hard |
Java |
Leetcode |
348 |
118 |
Pascal's Triangle |
Easy |
Java |
Leetcode |
349 |
99 |
Recover Binary Search Tree Good |
Hard |
Java |
Leetcode |
350 |
93 |
Restore IP Addresses DFS Very Good |
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 Good |
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 backtracking Good |
Medium |
Java |
Leetcode |
361 |
214 |
Shortest Palindrome Good |
Hard |
Java |
Leetcode |
362 |
219 |
Contains Duplicate II |
Easy |
Java |
Leetcode |
363 |
220 |
Contains Duplicate III TreeSet Very Good |
Medium |
Java |
Leetcode |
364 |
226 |
Invert Binary Tree Very Good |
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 |
227 |
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 Very Good |
Medium |
Java |
Leetcode |
374 |
250 |
Count Univalue Subtrees Good |
Medium |
Java |
Leetcode |
375 |
254 |
Factor Combinations Backtracking Good |
Medium |
Java |
Leetcode |
376 |
255 |
Verify preorder in binary search tree monotonic stack Very Good |
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 Recursion Very Good |
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 DFS Very Good |
Hard |
Java |
Leetcode |
386 |
318 |
Maximum Product of Word Lengths Convert String to Bit Very Good |
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 Very Good Build Graph |
Medium |
Java |
Leetcode |
390 |
367 |
Valid Perfect Square |
Easy |
Java |
Leetcode |
391 |
331 |
Verify Preorder Serialization of a Binary Tree Very Good |
Medium |
Java |
Leetcode |
392 |
337 |
House Robber III Tree DP Very Good |
Medium |
Java |
Leetcode |
393 |
315 |
Count of Smaller Numbers After Self Merge Sort |
Hard |
Java |
leetcode |
394 |
332 |
Reconstruct Itinerary Backtracking |
Medium |
Java |
Leetcode |
395 |
373 |
Find K Pairs with Smallest Sums Very Good |
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 Very Good |
Hard |
Java |
Leetcode |
399 |
581 |
Shortest Unsorted Continuous Subarray Very Good |
Easy |
Java |
Leetcode |
400 |
494 |
Target Sum Add Operator DFS or Backpack DP Very Good |
Medium |
Java |
Leetcode |
401 |
543 |
Diameter of Binary Tree Very very 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 Greedy Good |
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 Good |
Easy |
Java |
Leetcode |
415 |
326 |
Power of Three |
Easy |
Java |
Leetcode |
416 |
137 |
Single Number II Very Good |
Medium |
Java |
Leetcode |
417 |
260 |
Single Number III Very Good |
Medium |
Java |
Leetcode |
418 |
342 |
Power of Four |
Easy |
Java |
Leetcode |
419 |
343 |
Integer break Dynamic Programming Good |
Medium |
Java |
Leetcode |
420 |
374 |
Guess Number |
Easy |
Java |
Leetcode |
421 |
377 |
Combination Sum IV |
Medium |
Java |
Leetcode |
422 |
389 |
Find the Difference (Single Number) |
Easy |
Java |
Leetcode |
423 |
376 |
Wiggle Subsequence Dynamic Programming Alternate Very Good Must see |
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 Bit Manipulation |
Easy |
Java |
Leetcode |
427 |
404 |
Sum of Left Leaves |
Easy |
Java |
Leetcode |
428 |
417 |
Pacific Atlantic Water Flow BFS Very Good |
Medium |
Java |
Leetcode |
429 |
392 |
Is subsequence Good |
Medium |
Java |
Leetcode |
430 |
383 |
Ransom Note |
Easy |
Java |
Leetcode |
431 |
386 |
Lexicographical Numbers Good |
Medium |
Java |
Leetcode |
432 |
410 |
Split Array Largest Sum Binary Search Very Good |
Hard |
Java |
Leetcode |
433 |
424 |
Longest Repeating Character Replacement Sliding Window Very Good |
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 Good (merge interval) |
Medium |
Java |
Leetcode |
437 |
447 |
Number of Boomerangs (Tuple) |
Easy |
Java |
Leetcode |
438 |
442 |
Find All Duplicates in an Array Good |
Medium |
Java |
Leetcode |
439 |
541 |
Reverse String II |
Easy |
Java |
Leetcode |
440 |
452 |
Minimum Number of Arrows to Burst Balloons Merge Interval Very Good |
Medium |
Java |
Leetcode |
441 |
530 |
Minimum Absolute Difference in BST |
Easy |
Java |
Leetcode |
442 |
539 |
Minimum Time Difference Very Good |
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 Bit Manipulation |
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 Good |
Medium |
Java |
Leetcode |
451 |
501 |
Find Mode in Binary Search Tree |
Easy |
Java |
Leetcode |
452 |
496 |
Next Greater Element I Monotonic Stack Very Good |
Easy |
Java |
Leetcode |
453 |
503 |
Next Greater Element II Monotonic Stack Very Good |
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 Very Hard |
Hard |
Java |
Leetcode |
457 |
467 |
Unique Substrings in Wraparound String Dynamic Programming Good |
Medium |
Java |
Leetcode |
458 |
520 |
Detect Capital |
Easy |
Java |
Leetcode |
459 |
525 |
Contiguous Array Very Good |
Medium |
Java |
Leetcode |
460 |
540 |
Single Element in a Sorted Array Good |
Medium |
Java |
Leetcode |
461 |
557 |
Reverse Words in a String III |
Easy |
Java |
Leetcode |
462 |
523 |
Continuous Subarray Sum Very Good |
Medium |
Java |
Leetcode |
463 |
524 |
Longest Word in Dictionary through Deleting Two Pointers String |
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 Good |
Easy |
Java |
Leetcode |
469 |
474 |
Ones and Zeroes 3D Backpack Very Good |
Medium |
Java |
Leetcode |
470 |
563 |
Binary Tree Tilt Good |
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 Good |
Medium |
Java |
Leetcode |
475 |
575 |
Distribute candies |
Easy |
Java |
Leetcode |
476 |
583 |
Delete Operation for Two Strings Dynamic Good |
Medium |
Java |
Leetcode |
477 |
156 |
Binary Tree Upside Down Reverse Tree Very Good |
Medium |
Java |
Leetcode |
478 |
159 |
Longest Substring with At Most Two Distinct Characters Sliding Windwo Good |
Hard |
Java |
Leetcode |
479 |
170 |
Two Sum III - Data structure design |
Easy |
Java |
Leetcode |
480 |
265 |
Paint House II Very Good |
Hard |
Java |
Leetcode |
481 |
266 |
Palindrome Permutation |
Easy |
Java |
Leetcode |
482 |
267 |
Palindrome Permutation II StringBuilder Backtracking Very Good |
Medium |
Java |
Leetcode |
483 |
293 |
Flip Game |
Easy |
Java |
Leetcode |
484 |
294 |
Flip Game II recursion/memorization Very Good |
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 Very Good |
Hard |
Java |
Leetcode |
489 |
339 |
Nested List Weight Sum DFS/BFS Good |
Easy |
Java |
Leetcode |
490 |
346 |
Moving Average from Data Stream |
Easy |
Java |
Leetcode |
491 |
320 |
Generalized Abbreviation DFS Good |
Medium |
Java |
Leetcode |
492 |
357 |
Count Numbers with Unique Digits Good Analysis |
Medium |
Java |
Leetcode |
493 |
359 |
Logger Rate Limiter Very Good for large data |
Easy |
Java |
Leetcode |
494 |
360 |
Sort Transformed Array Good |
Medium |
Java |
Leetcode |
495 |
362 |
Design Hit Counter Very Good for large data |
Medium |
Java |
Leetcode |
496 |
364 |
Nested List Weight Sum II DFS/BFS Good |
Medium |
Java |
Leetcode |
497 |
366 |
Find Leaves of Binary Tree Java Concept |
Medium |
Java |
Leetcode |
498 |
369 |
Plus One Linked List DFS + LinkedList |
Medium |
Java |
Leetcode |
499 |
370 |
Range Addition Range Caching Very Good |
Medium |
Java |
Leetcode |
500 |
408 |
Valid Word Abbreviation |
Easy |
Java |
Leetcode |
501 |
422 |
Valid Word Square |
Easy |
Java |
Leetcode |
502 |
418 |
Sentence Screen Fitting Good |
Medium |
Java |
Leetcode |
503 |
439 |
Ternary Expression Parser |
Medium |
Java |
Leetcode |
504 |
484 |
Find Permutation |
Medium |
Java |
Leetcode |
505 |
681 |
Next Closest Time Very Good |
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 Very Good Array |
Easy |
Java |
Leetcode |
509 |
351 |
Android Unlock Patterns Backtracking Very Good |
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 Dijkstra Very Good |
Medium |
Java |
Leetcode |
515 |
499 |
Maze III BFS DFS Very Good |
Hard |
Java |
Leetcode |
516 |
562 |
Longest Line of Consecutive One in Matrix |
Medium |
Java |
Leetcode |
517 |
635 |
Design Log Storage System Good |
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 Very Good |
Medium |
Java |
Leetcode |
523 |
730 |
Count Different Palindromic Subsequences Challenging DP |
Hard |
Java |
Leetcode |
524 |
594 |
Longest Harmonious Subsequence Very Good |
Easy |
Java |
Leetcode |
525 |
599 |
Minimum Index Sum of Two Lists |
Easy |
Java |
Leetcode |
526 |
628 |
Maximum Product of Three Numbers Good |
Easy |
Java |
Leetcode |
527 |
633 |
Sum of Square Numbers Two points Good |
Easy |
Java |
Leetcode |
528 |
623 |
Add One Row to Tree Good |
Medium |
Java |
Leetcode |
529 |
637 |
Average of Levels in Binary Tree |
Easy |
Java |
Leetcode |
530 |
638 |
Shopping Offers Recursion Memo |
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 Very Good |
Medium |
Java |
Leetcode |
534 |
652 |
Find Duplicate Subtrees Serialization Very Good |
Medium |
Java |
Leetcode |
535 |
654 |
Maximum Binary Tree Good |
Medium |
Java |
Leetcode |
536 |
657 |
Robot Return to Origin |
Easy |
Java |
Leetcode |
537 |
659 |
Split Array into Consecutive Subsequences Greedy Good |
Medium |
Java |
Leetcode |
538 |
669 |
Trim a Binary Search Tree |
Easy |
Java |
Leetcode |
539 |
670 |
Maximum Swap number Good as next permutation |
Medium |
Java |
Leetcode |
540 |
526 |
Beautiful Arrangement backtracking Good |
Medium |
Java |
Leetcode |
541 |
515 |
Find Largest Value in Each Tree Row |
Medium |
Java |
Leetcode |
542 |
531 |
Lonely Pixel I Matrix Good |
Medium |
Java |
Leetcode |
543 |
477 |
Total Hamming Distance |
Medium |
Java |
Leetcode |
544 |
473 |
Matchsticks to Square Backtracking Partition Very Good |
Medium |
Java |
Leetcode |
545 |
491 |
Increasing Subsequences Different Backtracking Very Good |
Medium |
Java |
Leetcode |
546 |
498 |
Diagonal Traverse matrix good |
Medium |
Java |
Leetcode |
547 |
542 |
01 Matrix another kind of BFS |
Medium |
Java |
Leetcode |
548 |
680 |
Valid Palindrome II Very Good |
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 Group char to int |
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 HashMap Good |
Medium |
Java |
Leetcode |
555 |
718 |
Maximum Length of Repeated Subarray Very Good Must see |
Medium |
Java |
Leetcode |
556 |
724 |
Find Pivot Index |
Easy |
Java |
Leetcode |
557 |
728 |
Self Dividing Numbers |
Easy |
Java |
Leetcode |
558 |
729 |
My Calendar I TreeMap Very Good |
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 Stack Very Good |
Medium |
Java |
Leetcode |
562 |
402 |
Remove K Digits monotonic Stack Very Good |
Medium |
Java |
Leetcode |
563 |
738 |
Monotone Increasing Digits |
Medium |
Java |
Leetcode |
564 |
739 |
Daily Temperatures Monotonic Stack Good |
Medium |
Java |
Leetcode |
565 |
740 |
Delete and Earn Dynamic Programming and TreeMap Very Good |
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 Dijkstra Very Good Must see |
Medium |
Java |
Leetcode |
569 |
750 |
Number Of Corner Rectangles HashMap Very Good |
Medium |
Java |
Leetcode |
570 |
784 |
Letter Case Permutation Recursion |
Easy |
Java |
Leetcode |
571 |
766 |
Toeplitz Matrix |
Easy |
Java |
Leetcode |
572 |
767 |
Reorganize String Greedy PQ Very Good |
Medium |
Java |
Leetcode |
573 |
769 |
Max Chunks To Make Sorted |
Medium |
Java |
Leetcode |
574 |
768 |
Max Chunks To Make Sorted II Very Good |
Hard |
Java |
Leetcode |
575 |
788 |
Rotated Digits |
Easy |
Java |
Leetcode |
576 |
787 |
Cheapest Flights Within K Stops Dijkstra Very Good |
Hard |
Java |
Leetcode |
577 |
796 |
Rotate String |
Easy |
Java |
Leetcode |
578 |
797 |
All Paths From Source to Target Backtracking |
Medium |
Java |
Leetcode |
579 |
800 |
Similar RGB Color |
Easy |
Java |
Leetcode |
580 |
792 |
Number of Matching Subsequences Good |
Medium |
Java |
Leetcode |
581 |
795 |
Number of Subarrays with Bounded Maximum Very Good |
Medium |
Java |
Leetcode |
582 |
804 |
Unique Morse Code Words |
Easy |
Java |
Leetcode |
583 |
801 |
Minimum Swaps To Make Sequences Increasing Very good Two Alternate Must See |
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 Good |
Easy |
Java |
Leetcode |
589 |
819 |
Most Common Word Good |
Easy |
Java |
Leetcode |
590 |
813 |
Largest Sum of Averages 2D DP + 1D DP Very Good |
Medium |
Java |
Leetcode |
591 |
821 |
Shortest Distance to a Character Good Scan left and right |
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 Good |
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 Very Good |
Medium |
Java |
Leetcode |
604 |
673 |
Number of Longest Increasing Subsequence Two Dynamic Programming Very Good |
Medium |
Java |
Leetcode |
605 |
785 |
Is Graph Bipartite Color DFS Very Good |
Medium |
Java |
Leetcode |
606 |
764 |
Largest Plus Sign Directional Dynamic Programming Very Good |
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 Very Good |
Medium |
Java |
Leetcode |
611 |
642 |
Design Search Autocomplete System Trie PQ HashMap Very Good |
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 Good |
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 Backtrack + Memo Very Good |
Medium |
Java |
Leetcode |
623 |
486 |
Predict the Winner DP Very Good |
Medium |
Java |
Leetcode |
624 |
844 |
Backspace String Compare Good |
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 Two Pointers Very Good |
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 Very Good |
Hard |
Java |
Leetcode |
636 |
826 |
Most Profit Assigning Work TreeMap Very Good |
Medium |
Java |
Leetcode |
637 |
827 |
Making A Large Island Very Good |
Hard |
Java |
Leetcode |
638 |
828 |
Unique Letter String Very Good Thinking |
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 Very Good |
Medium |
Java |
Leetcode |
643 |
846 |
Hand of Straights |
Medium |
Java |
Leetcode |
644 |
848 |
Shifting Letters Prefix Sum Good |
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 Build 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 Very Good |
Medium |
Java |
Leetcode |
657 |
870 |
Advantage Shuffle Greedy |
Medium |
Java |
Leetcode |
658 |
869 |
Reordered Power of 2 Convert num to array |
Medium |
Java |
Leetcode |
659 |
401 |
Binary Watch Combination Good |
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 Very Good |
Medium |
Java |
Leetcode |
665 |
399 |
Evaluate Division Build 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 Very Good |
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 PriortyQueue Very Good |
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 HashMap DP |
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 Good |
Hard |
Java |
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 TreeSet PreSum Good |
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 Two PriorityQueue Good |
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 Good |
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 Trie BFS HashMap Very Good |
Medium |
Java |
Leetcode |
727 |
679 |
24 Game Backtracking Within Backtracking Very Good |
Hard |
Java |
Leetcode |
728 |
683 |
K Empty Slots Sliding Window Flower |
Hard |
Java |
Leetcode |
729 |
691 |
Stickers to Spell Word Recursion + Memo Very Good |
Hard |
Java |
Leetcode |
730 |
884 |
Uncommon Words from Two Sentences Good |
Easy |
Java |
Leetcode |
731 |
716 |
Max Stack |
Hard |
Java |
Leetcode |
732 |
723 |
Candy Crush Two Pointers Label values Very Good |
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 Good |
Hard |
Java |
Leetcode |
738 |
753 |
Cracking the Safe Backtracking Very Good |
Hard |
Java |
Leetcode |
739 |
754 |
Reach a Number |
Medium |
Java |
Leetcode |
740 |
756 |
Pyramid Transition Matrix DFS + Backtracking Very Good |
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 Trailing Zeroes 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 Left and Right Very Good |
Medium |
Java |
Leetcode |
755 |
820 |
Short Encoding of Words Trie Very Good |
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 Very Good |
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 Bit Mask Avoid Repeating Route |
Hard |
Java |
Leetcode |
765 |
864 |
Shortest Path to Get All Keys BFS Bit Mask Avoid Repeating Route |
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 2D LIS Very Good |
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 Dynamic Programming PriorityQueue |
Hard |
Java |
Leetcode |
775 |
877 |
Stone Game Dynamic |
Medium |
Java |
Leetcode |
776 |
878 |
Nth Magical Number GCD LCM Binary Search |
Hard |
Java |
Leetcode |
777 |
880 |
Decoded String at Index Very Good |
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 knapsack |
Hard |
Java |
Leetcode |
783 |
894 |
All Possible Full Binary Trees Recursion Memo |
Medium |
Java |
Leetcode |
784 |
895 |
Maximum Frequency Stack Very Good LFU |
Hard |
Java |
Leetcode |
785 |
898 |
Bitwise ORs of Subarrays HashSet Good |
Medium |
Java |
Leetcode |
786 |
904 |
Fruit Into Baskets Sliding Window Good |
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 Good |
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 Good |
Medium |
Java |
Leetcode |
797 |
907 |
Sum of Subarray Minimums Dynamic Monotonic Stack very Good Must See |
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 Very Good |
Hard |
Java |
Leetcode |
805 |
353 |
Design Snake Game |
Medium |
Java |
Leetcode |
806 |
361 |
Bomb Enemy preSum Very Good |
Medium |
Java |
Leetcode |
807 |
379 |
Design Phone Directory |
Medium |
Java |
Leetcode |
808 |
302 |
Smallest Rectangle Enclosing Black Pixels Binary Search Good |
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 Backtracking Good |
Hard |
Java |
Leetcode |
812 |
489 |
Robot clean room |
Hard |
Java |
Leetcode |
813 |
555 |
Split Concatenated Strings Good |
Medium |
Java |
Leetcode |
814 |
157 |
Read N Characters Given Read4 |
Easy |
Java |
Leetcode |
815 |
666 |
Path Sum IV Very Good |
Medium |
Java |
Leetcode |
816 |
755 |
Pour Water Two points |
Medium |
Java |
Leetcode |
817 |
656 |
Coin Path LIS DP + Record Path Very Good |
Hard |
Java |
Leetcode |
818 |
317 |
Shortest Distance from All Buildings BFS |
Hard |
Java |
Leetcode |
819 |
358 |
Rearrange String k Distance Apart Very Good |
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 Very 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 Label Node Very Good |
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 Very Good |
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 Very Good |
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 Good |
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 HashMap 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 TreeMap Very Good |
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 Very Good |
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 LIS DP + Cache Very Good |
Hard |
Java |
Leetcode |
879 |
961 |
N-Repeated Element in Size 2N Array |
Easy |
Java |
Leetcode |
880 |
962 |
Maximum Width Ramp Sliding Window 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 |
887 |
974 |
Subarray Sums Divisible by K Very Good |
Medium |
Java |
Leetcode |
888 |
973 |
K Closest Points to Origin |
Easy |
Java |
Leetcode |
889 |
976 |
Largest Perimeter Triangle |
Easy |
Java |
Leetcode |
890 |
975 |
Odd Even Jump TreeMap + Alternate DP Very Good |
Hard |
Java |
Leetcode |
891 |
970 |
Powerful Integers Good |
Easy |
Java |
Leetcode |
892 |
969 |
Pancake Sorting |
Medium |
Java |
Leetcode |
893 |
971 |
Flip Binary Tree To Match Preorder Traversal Very Good |
Medium |
Java |
Leetcode |
894 |
968 |
Binary Tree Cameras Greedy |
Hard |
Java |
Leetcode |
895 |
977 |
Squares of a Sorted Array Two Pointers |
Easy |
Java |
Leetcode |
896 |
978 |
Longest Turbulent Subarray Good |
Medium |
Java |
Leetcode |
897 |
979 |
Distribute Coins in Binary Tree Very Good |
Medium |
Java |
Leetcode |
898 |
980 |
Unique Paths III Very Good Backtracking |
Hard |
Java |
Leetcode |
899 |
92 |
Reverse Linked List II |
Medium |
Java |
Leetcode |
900 |
446 |
Arithmetic Slices II - Subsequence Very Good DP LIS |
Hard |
Java |
Leetcode |
901 |
984 |
String Without AAA or BBB |
Easy |
Java |
Leetcode |
902 |
981 |
Time Based Key-Value Store |
Medium |
Java |
Leetcode |
903 |
89 |
k sum backpack Dynamic Programming Very Good |
Hard |
Java |
Lintcode |
904 |
402 |
Continuous Subarray Sum |
Medium |
Java |
Lintcode |
905 |
22 |
Flatten List.java |
Easy |
Java |
Lintcode |
906 |
86 |
Binary Search Tree Iterator |
Hard |
Java |
Lintcode |
907 |
694 |
Number of Distinct Islands |
Medium |
Java |
Leetcode |
908 |
127 |
Word Ladder |
Medium |
Java |
Leetcode |
909 |
240 |
Search 2D Matrix II Good |
Medium |
Java |
Leetcode |
910 |
518 |
Coin Change 2 |
Medium |
Java |
Leetcode |
911 |
537 |
Complex Number Multiplication |
Medium |
Java |
Leetcode |
912 |
985 |
Sum of Even Numbers After Queries Good |
Easy |
Java |
Leetcode |
913 |
988 |
Smallest String Starting From Leaf Good |
Medium |
Java |
Leetcode |
914 |
986 |
Interval List Intersections Two Pointers Sweep line Good |
Medium |
Java |
Leetcode |
915 |
987 |
Vertical Order Traversal of a Binary Tree Good |
Medium |
Java |
Leetcode |
916 |
991 |
Broken Calculator |
Medium |
Java |
Leetcode |
917 |
989 |
Add to Array-Form of Integer |
Easy |
Java |
Leetcode |
918 |
990 |
Satisfiability of Equality Equations |
Medium |
Java |
Leetcode |
919 |
992 |
Subarrays with K Different Integers Very Good Sliding Window |
Hard |
Java |
Leetcode |
920 |
993 |
Cousins in Binary Tree |
Easy |
Java |
Leetcode |
921 |
994 |
Rotting Oranges |
Easy |
Java |
Leetcode |
922 |
996 |
Number of Squareful Arrays Backtracking Very Good |
Hard |
Java |
Leetcode |
923 |
995 |
Minimum Number of K Consecutive Bit Flips |
Hard |
Java |
Leetcode |
924 |
997 |
Find the Town Judge Very Good Graph Concept |
Easy |
Java |
Leetcode |
925 |
999 |
Available Captures for Rook |
Easy |
Java |
Leetcode |
926 |
998 |
Maximum Binary Tree II |
Medium |
Java |
Leetcode |
927 |
1001 |
Grid Illumination |
Hard |
Java |
Leetcode |
928 |
658 |
Find K Closest Elements Binary Search Very Good |
Medium |
Java |
Leetcode |
XXX |
XXX |
Merge Sort Template |
|
|
|
929 |
365 |
Water and Jug GCD(greater common divisor) |
Medium |
Java |
Leetcode |
930 |
1002 |
Find Common Characters Very Good |
Easy |
Java |
Leetcode |
931 |
1003 |
Check If Word Is Valid After Substitutions |
Medium |
Java |
Leetcode |
932 |
1004 |
Max Consecutive Ones III |
Medium |
Java |
Leetcode |
XXX |
XXX |
Monotonic Stack Template |
|
|
|
933 |
1005 |
Maximize Sum Of Array After K Negations |
Easy |
Java |
Leetcode |
934 |
1006 |
Clumsy Factorial |
Medium |
Java |
Leetcode |
935 |
1007 |
Minimum Domino Rotations For Equal Row |
Medium |
Java |
Leetcode |
936 |
1008 |
Construct Binary Search Tree from Preorder Traversal |
Medium |
Java |
Leetcode |
937 |
215 |
Kth Largest Element in an Array |
Medium |
Java |
Leetcode |
938 |
468 |
Validate IP Address |
Medium |
Java |
Leetcode |
939 |
393 |
UTF-8 Validation |
Medium |
Java |
Leetcode |
940 |
1012 |
Complement of Base 10 Integer Good |
Easy |
Java |
Leetcode |
941 |
1013 |
Pairs of Songs With Total Durations Divisible by 60 Very Good |
Easy |
Java |
Leetcode |
942 |
1014 |
Capacity To Ship Packages Within D Days Binary Search Very Good |
Medium |
Java |
Leetcode |
943 |
983 |
Minimum Cost For Tickets Very Good |
Medium |
Java |
Leetcode |
944 |
909 |
Snakes and Ladders BFS Good |
Medium |
Java |
Leetcode |
945 |
1020 |
Partition Array Into Three Parts With Equal Sum |
Easy |
Java |
Leetcode |
946 |
1021 |
Best Sightseeing Pair |
Medium |
Java |
Leetcode |
947 |
1023 |
Binary String With Substrings Representing 1 To N |
Medium |
Java |
Leetcode |
948 |
1022 |
Smallest Integer Divisible by K |
Medium |
Java |
Leetcode |
949 |
528 |
Random Pick with Weight Good |
Medium |
Java |
Leetcode |
XXX |
XXX |
Good Binary Search Question from LinkedIn |
|
|
|
950 |
149 |
Max Points on a Line gcd |
Hard |
Java |
Leetcode |
951 |
XXX |
Combination Sum III Menu |
Medium |
Java |
XXX |
952 |
XXX |
Compare String |
Medium |
Java |
XXX |
953 |
1029 |
Binary Prefix Divisible By 5 |
Easy |
Java |
Leetcode |
954 |
1028 |
Convert to Base -2 Good |
Medium |
Java |
Leetcode |
955 |
1030 |
Next Greater Element |
Medium |
Java |
Leetcode |
956 |
1031 |
Number of Enclaves |
Medium |
Java |
Leetcode |
957 |
158 |
Read N Characters Given Read4 II - Call multiple times |
Hard |
Java |
Leetcode |
958 |
708 |
Insert into a Cyclic Sorted List |
Medium |
Java |
Leetcode |
959 |
1021 |
Remove Outermost Parentheses |
Easy |
Java |
Leetcode |
960 |
1022 |
Sum of Root To Leaf Binary Numbers |
Easy |
Java |
Leetcode |
961 |
1023 |
Camelcase Matching |
Medium |
Java |
Leetcode |
962 |
1024 |
Video Stitching |
Medium |
Java |
Leetcode |
963 |
1025 |
Divisor Game |
Easy |
Java |
Leetcode |
964 |
1026 |
Maximum Difference Between Node and Ancestor |
Medium |
Java |
Leetcode |
965 |
1027 |
Longest Arithmetic Sequence |
Medium |
Java |
Leetcode |
966 |
1028 |
Recover a Tree From Preorder Traversal |
Hard |
Java |
Leetcode |
967 |
1030 |
Matrix Cells in Distance Order |
Easy |
Java |
Leetcode |
968 |
1029 |
Two City Scheduling Greedy DP Good |
Easy |
Java |
Leetcode |
969 |
1031 |
Maximum Sum of Two Non-Overlapping Subarrays Very Good |
Medium |
Java |
Leetcode |
970 |
1032 |
Stream of Characters Trie |
Hard |
Java |
Leetcode |
971 |
843 |
Guess the Word |
Hard |
Java |
Leetcode |
972 |
1033 |
Moving Stones Until Consecutive |
Easy |
Java |
Leetcode |
973 |
1034 |
Coloring A Border |
Medium |
Java |
Leetcode |
974 |
1035 |
Uncrossed Lines |
Medium |
Java |
Leetcode |
975 |
1036 |
Escape a Large Maze |
Hard |
Java |
Leetcode |
976 |
1037 |
Valid Boomerang |
Easy |
Java |
Leetcode |
977 |
1038 |
Binary Search Tree to Greater Sum Tree |
Medium |
Java |
Leetcode |
978 |
1039 |
Minimum Score Triangulation of Polygon 3D Dynamic Programming |
Medium |
Java |
Leetcode |