Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

polylepis/LintCode

Open more actions menu
 
 

Repository files navigation

Java Algorithm Problems

程序员的一天

从开始这个Github已经有将近两年时间, 很高兴这个repo可以帮到有需要的人. 我一直认为, 知识本身是无价的, 因此每逢闲暇, 我就会来维护这个repo, 给刷题的朋友们一些我的想法和见解. 下面来简单介绍一下这个repo:

README.md: 所有所做过的题目

ReviewPage.md: 所有题目的总结和归纳(不断完善中)

KnowledgeHash2.md: 对所做过的知识点的一些笔记

SystemDesign.md: 对系统设计的一些笔记

Future Milestone: 我准备将一些有意思的题目,做成视频的形式给大家参考

希望大家学习顺利, 对未来充满希望(程序员也是找到好老板的!) 有问题可以给我写邮件(wangdeve@gmail.com), 或者在GitHub上发issue给我.

Squence Problem Level Language Tags Video Tutorial
0 Binary Tree Zigzag Level Order Traversal.java Medium Java [BFS, Stack, Tree]
1 Count of Smaller Number before itself.java Hard Java []
2 Count of Smaller Number.java Review Java [Binary Search, Segment Tree]
3 Delete Digits.java Medium Java []
4 Find the Weak Connected Component in the Directed Graph.java Medium Java [Union Find]
5 Flatten 2D Vector.java Medium Java [Design]
6 Fraction to Recurring Decimal.java Medium Java [Hash Table, Math]
7 Gray Code.java Medium Java [Backtracking]
8 Group Shifted Strings.java Easy Java []
9 Hamming Distance.java Easy Java []
10 Happy Number.java Easy Java []
11 HashHeap.java Hard Java []
12 HashWithArray.java Easy Java []
13 Heapify.java Review Java [Heap]
14 Heaters.java Easy Java []
15 IndexMatch.java Easy Java []
16 Inorder Successor in Binary Search Tree.java Medium Java [BST, Tree]
17 Insert Node in a Binary Search Tree .java Easy Java [BST]
18 Intersection of Two Arrays.java Easy Java []
19 Intersection of Two Linked Lists.java Easy Java [Linked List]
20 Interval Sum II.java Hard Java []
21 Isomorphic Strings.java Easy Java []
22 Jewels and Stones.java Easy Java [Hash Table]
23 Kth Largest Element.java Review Java [Divide and Conquer, Heap, Quick Sort]
24 Kth Smallest Sum In Two Sorted Arrays.java Hard Java []
25 LFU Cache.java Hard Java [Design, Hash Table]
26 Longest Univalue Path.java Easy Java []
27 Majority Number II.java Medium Java [Enumeration, Greedy]
28 Majority Number III.java Medium Java [Hash Table, Linked List]
29 Matrix Zigzag Traversal.java Easy Java []
30 Maximum Subarray III.java Review Java []
31 Minimum Absolute Difference in BST.java Easy Java [BST]
32 Minimum Height Trees.java Medium Java [BFS, Graph]
33 Minimum Subarray.java Easy Java [Array, Greedy]
34 Missing Ranges.java Medium Java [Array]
35 Multiply Strings.java Medium Java [Math, String]
36 Next Permutation.java Medium Java [Array]
37 O(1) Check Power of 2.java Easy Java [Bit Manipulation]
38 Palindrome Permutation II.java Medium Java [Backtracking, Permutation]
39 Partition Array by Odd and Even.java Easy Java [Array, Two Pointers]
40 Pascal's Triangle II.java Easy Java []
41 Permutation Index.java Easy Java []
42 Permutation Sequence.java Medium Java [Backtracking, Math]
43 Populating Next Right Pointers in Each Node II.java Hard Java []
44 Product of Array Exclude Itself.java Medium Java [Array]
45 Recover Rotated Sorted Array.java Easy Java [Array]
46 Remove Duplicates from Unsorted List.java Medium Java [Linked List]
47 Remove Node in Binary Search Tree.java Hard Java [BST]
48 Reshape the Matrix.java Easy Java []
49 Reverse String.java Easy Java []
50 Roman to Integer.java Easy Java []
51 Rotate Image.java Medium Java [Array, Enumeration]
52 Search Insert Position.java Easy Java []
53 Search Rotated in Sorted Array II.java Medium Java [Array, Binary Search]
54 Search Rotated in Sorted Array.java Hard Java []
55 Shortest Word Distance.java Easy Java []
56 Single Number II.java Medium Java [Bit Manipulation]
57 Single Number III.java Medium Java [Bit Manipulation]
58 Single Number.java Easy Java []
59 Sliding Window Maximum.java Hard Java []
60 Space Replacement.java Medium Java [String]
61 Stone Game.java Medium Java [DP]
62 String Permutation.java Easy Java []
63 String to Integer(atoi).java Easy Java []
64 Strobogrammatic Number.java Easy Java []
65 Subarray Sum II.java Hard Java [Array, Binary Search, Two Pointers]
66 The Smallest Difference.java Medium Java [Array, Sort, Two Pointers]
67 Total Occurrence of Target.java Medium Java []
68 Trailing Zeros.java Easy Java [Math]
69 Two Lists Sum.java Medium Java [Linked List]
70 Two Strings Are Anagrams.java Easy Java []
71 Ugly Number II.java Medium Java [DP, Heap, Math]
72 Valid Parentheses.java Easy Java []
73 Valid Sudoku.java Easy Java []
74 Word Ladder II.java Hard Java []
75 Word Pattern.java Easy Java []
76 Zigzag Iterator.java Medium Java [BST]
77 Find Anagram Mappings.java Easy Java [Hash Table]
78 Judge Route Circle.java Easy Java [String]
79 Island Perimeter.java Easy Java [Hash Table]
80 First Unique Character in a String.java Easy Java [Hash Table, String]
81 Power of Three.java Easy Java [Math]
82 Plus One.java Easy Java [Array, Math]
83 Power of Two.java Easy Java [Bit Manipulation, Math]
84 Reverse Vowels of a String.java Easy Java [String, Two Pointers]
85 Guess Number Higher or Lower.java Easy Java [Binary Search]
86 Encode and Decode TinyURL.java Medium Java [Hash Table, Math]
87 Wiggle Sort.java Medium Java [Array, Sort]
88 Queue Reconstruction by Height.java Medium Java [Greedy]
89 2 Sum II - Input array is sorted.java Medium Java [Array, Binary Search, Two Pointers]
90 2 Sum II.java Medium Java [Array, Binary Search, Two Pointers]
91 Coin Change.java Medium Java [DP, Memoization, Sequence DP]
92 Maximum Product Subarray.java Medium Java [Array, DP]
93 3 Sum Closest.java Medium Java [Array, Two Pointers]
94 Triangle Count.java Medium Java [Array]
95 3 Sum.java Medium Java [Array, Two Pointers]
96 4 Sum.java Medium Java [Hash Table]
97 k Sum.java Hard Java [DP]
98 Longest Increasing Subsequence.java Medium Java [Binary Search, Coordinate DP, DP, Memoization, Sequence DP]
99 Unique Binary Search Tree.java Medium Java [BST, DP, Tree]
100 Trim a Binary Search Tree.java Easy Java [BST, Tree]
101 Unique Paths II.java Medium Java [Array, Coordinate DP, DP]
102 Bomb Enemy.java Medium Java [Coordinate DP, DP]
103 3 Sum Smaller.java Medium Java [Array, Two Pointers]
104 Array Partition I.java Easy Java [Array]
105 1-bit and 2-bit Characters.java Easy Java [Array]
106 Non-decreasing Array.java Easy Java [Array]
107 Max Consecutive Ones.java Easy Java [Array]
108 Find All Numbers Disappeared in an Array.java Easy Java [Array]
109 Maximum Average Subarray I.java Easy Java [Array]
110 Largest Number At Least Twice of Others.java Easy Java [Array]
111 Toeplitz Matrix.java Easy Java [Array]
112 Sum of Two Integers.java Easy Java [Bit Manipulation]
113 Swap Bits.java Easy Java [Bit Manipulation]
114 Update Bits.java Medium Java [Bit Manipulation]
115 Maximum XOR of Two Numbers in an Array.java Medium Java [Bit Manipulation, Trie]
116 Perfect Squares.java Medium Java [BFS, DP, Math, Partition DP]
117 Backpack VI.java Medium Java [Backpack DP, DP]
118 Copy Books.java Hard Java [Binary Search, DP, Partition DP]
119 Valid Perfect Square.java Review Java [Binary Search, Math]
120 Intersection of Two Arrays II.java Easy Java [Binary Search, Hash Table, Sort, Two Pointers]
121 Scramble String.java Hard Java [DP, Interval DP, String]
122 Binary Search Tree Iterator.java Medium Java [BST, Design, Stack, Tree]
123 Flatten Nested List Iterator.java Medium Java [Design, Stack]
124 Best Time to Buy and Sell Stock with Cooldown.java Medium Java [DP]
125 Find Peak Element.java Medium Java [Array, Binary Search]
126 Longest Common Subsequence.java Medium Java [DP, Double Sequence DP]
127 Interleaving String.java Hard Java [DP, String]
128 Letter Combinations of a Phone Number.java Medium Java [Backtracking, String]
129 Edit Distance.java Hard Java [DP, Double Sequence DP, String]
130 Distinct Subsequences.java Hard Java [DP, String]
131 Regular Expression Matching.java Review Java [Backtracking, DP, String]
132 Majority Element.java Easy Java [Array, Bit Manipulation, Divide and Conquer]
133 Wildcard Matching.java Hard Java [Backtracking, DP, Greedy, String]
134 Ones and Zeroes.java Hard Java [DP]
135 Pow(x,n).java Medium Java [Binary Search, Math]
136 Word Break II.java Hard Java [Backtracking, DFS, DP, Memoization]
137 Nested List Weight Sum.java Easy Java [BFS, DFS]
138 Same Tree.java Easy Java [DFS, Tree]
139 Convert Sorted Array to Binary Search Tree.java Easy Java [DFS, Divide and Conquer, Tree]
140 Construct Binary Tree from Inorder and Preorder Traversal.java Medium Java [Array, DFS, Divide and Conquer, Hash Table, Tree]
141 Add Binary.java Easy Java [Math, String]
142 Add Digits.java Easy Java [Math]
143 Add Two Numbers.java Medium Java [Linked List, Math]
144 Add Two Numbers II.java Medium Java [Linked List]
145 Balanced Binary Tree.java Medium Java [DFS, Tree]
146 Valid Anagram.java Easy Java [Hash Table, Sort]
147 Populating Next Right Pointers in Each Node.java Medium Java [DFS, Divide and Conquer, Tree]
148 Validate Binary Search Tree.java Medium Java [BST, DFS, Divide and Conquer, Tree]
149 Convert Sorted List to Binary Search Tree.java Medium Java [BST, DFS, Divide and Conquer, Linked List]
150 Flatten Binary Tree to Linked List.java Medium Java [Binary Tree, DFS]
151 Binary Tree Paths.java Easy Java [Backtracking, Binary Tree, DFS]
152 Minimum Size Subarray Sum.java Medium Java [Array, Binary Search, Two Pointers]
153 Clone Graph.java Medium Java [BFS, DFS, Graph]
154 Longest Substring Without Repeating Characters.java Medium Java [Hash Table, String, Two Pointers]
155 Minimum Window Substring.java Hard Java [Hash Table, String, Two Pointers]
156 Linked List Cycle.java Easy Java [Linked List, Two Pointers]
157 Remove Nth Node From End of List.java Medium Java [Linked List, Two Pointers]
158 Longest Substring with At Most K Distinct Characters.java Medium Java [Hash Table, String]
159 Linked List Cycle II.java Medium Java [Linked List, Two Pointers]
160 Kth Smallest Number in Sorted Matrix.java Medium Java [Binary Search, Heap]
161 Find Minimum in Rotated Sorted Array.java Medium Java [Array, Binary Search]
162 Find Minimum in Rotated Sorted Array II.java Hard Java [Array, Binary Search]
163 Connecting Graph.java Medium Java [Union Find]
164 Connecting Graph II.java Medium Java [Union Find]
165 Connecting Graph III.java Medium Java [Union Find]
166 Number of Islands.java Medium Java [BFS, DFS, Matrix DFS, Union Find]
167 Number of Islands II.java Hard Java [Union Find]
168 Surrounded Regions.java Medium Java [BFS, DFS, Matrix DFS, Union Find]
169 Implement Trie.java Medium Java [Design, Trie]
170 Add and Search Word.java Medium Java [Backtracking, Design, Trie]
171 Word Search II.java Hard Java [Backtracking, DFS, Trie]
172 Word Search.java Medium Java [Array, Backtracking, DFS]
173 Word Squares.java Hard Java [Backtracking, Trie]
174 Trapping Rain Water.java Hard Java [Array, Stack, Two Pointers]
175 Trapping Rain Water II.java Hard Java [BFS, Heap]
176 Data Stream Median.java Hard Java [Design, Heap]
177 Sliding Window Median.java Hard Java [Design, Heap]
178 Min Stack.java Easy Java [Design, Stack]
179 Implement Queue using Stacks.java Easy Java [Design, Stack]
180 Decode String.java Medium Java [DFS, Divide and Conquer, Stack]
181 Largest Rectangle in Histogram.java Hard Java [Array, Monotonous Stack, Stack]
182 Maximum Binary Tree.java Medium Java [Stack, Tree]
183 Reverse Integer.java Easy Java [Math]
184 Swap Nodes in Pairs.java Medium Java [Linked List]
185 Find Peak Element II.java Hard Java [Binary Search, DFS, Divide and Conquer]
186 Sqrt(x).java Easy Java [Binary Search, Math]
187 First Bad Version.java Easy Java [Binary Search]
188 Wood Cut.java Medium Java [Binary Search]
189 Find the Duplicate Number.java Medium Java [Array, Binary Search, Two Pointers]
190 Palindrome Pairs.java Hard Java [Hash Table, String, Trie]
191 Game of Life.java Medium Java [Array]
192 Maximum Average Subarray II.java Review Java [Array, Binary Search, PreSum]
193 Meeting Rooms.java Easy Java [Sort, Sweep Line]
194 Number of Airplane in the sky.java Medium Java [Array, Interval, Sort, Sweep Line]
195 Meeting Rooms II.java Medium Java [Greedy, Heap, Sort, Sweep Line]
196 Building Outline.java Review Java [Binary Indexed Tree, Divide and Conquer, Heap, Segment Tree, Sweep Line]
197 Unique Path.java Medium Java [Array, Coordinate DP, DP]
198 Maximal Rectangle.java Hard Java [Array, DP, Hash Table, Stack]
199 Maximal Square.java Medium Java [Coordinate DP, DP]
200 Longest Increasing Path in a Matrix.java Hard Java [Coordinate DP, DFS, DP, Memoization, Topological Sort]
201 Coins in a Line.java Medium Java [DP, Game Theory, Greedy]
202 Coins in a Line II.java Medium Java [Array, DP, Game Theory, Memoization, MiniMax]
203 Binary Tree Inorder Traversal.java Easy Java [Hash Table, Stack, Tree]
204 Binary Tree Postorder Traversal.java Medium Java [Stack, Tree, Two Stacks]
205 Change to Anagram.java Easy Java [String]
206 Classical Binary Search.java Easy Java [Binary Search]
207 Climbing Stairs.java Easy Java [DP, Memoization, Sequence DP]
208 Coins in a Line III.java Hard Java [Array, DP, Game Theory, Interval DP, Memoization]
209 Closest Binary Search Tree Value.java Easy Java [BST, Binary Search, Tree]
210 Compare Version Numbers.java Medium Java [String]
211 Count Complete Tree Nodes.java Medium Java [Binary Search, Tree]
212 Course Schedule.java Medium Java [BFS, Backtracking, DFS, Graph, Topological Sort]
213 Course Schedule II.java Medium Java [BFS, DFS, Graph, Topological Sort]
214 Binary Tree Preorder Traversal.java Easy Java [BFS, DFS, Stack, Tree]
215 Closest Number in Sorted Array.java Easy Java [Binary Search]
216 Complete Binary Tree.java Easy Java [BFS, Tree]
217 Compare Strings.java Easy Java [String]
218 Contains Duplicate.java Easy Java [Array, Hash Table]
219 Contains Duplicate II.java Easy Java [Array, Hash Table]
220 Contains Duplicate III.java Medium Java [BST]
221 Burst Balloons.java Hard Java [DP, Divide and Conquer, Interval DP, Memoization]
222 Nim Game.java Easy Java [Brainteaser, DP, Game Theory]
223 Convert Integer A to Integer B.java Easy Java [Bit Manipulation]
224 Cosine Similarity.java Easy Java [Basic Implementation]
225 Count 1 in Binary.java Easy Java [Bit Manipulation]
226 Count and Say.java Easy Java [Basic Implementation, String]
227 One Edit Distance.java Medium Java [String]
228 K Edit Distance.java Hard Java [DP, Double Sequence DP, Trie]
229 Jump Game.java Medium Java [Array, DP, Greedy]
230 Coin Change 2.java Medium Java [Backpack DP, DP, Sequence DP]
231 Paint House.java Easy Java [DP, Sequence DP]
232 Decode Ways.java Medium Java [DP, Partition DP, String]
233 Longest Continuous Increasing Subsequence.java Easy Java [Array, Coordinate DP, DP]
234 Minimum Path Sum.java Medium Java [Array, Coordinate DP, DP]
235 Counting Bits.java Medium Java [Bit Manipulation, Bitwise DP, DP]
236 Continuous Subarray Sum.java Medium Java [Coordinate DP, DP, Math]
237 House Robber.java Easy Java [DP, Sequence DP]
238 House Robber II.java Medium Java [DP, Sequence DP]
239 House Robber III.java Medium Java [DFS, DP, Status DP, Tree]
240 Paint House II.java Hard Java [DP, Sequence DP]
241 Best Time to Buy and Sell Stock I.java Easy Java [Array, DP, Sequence DP]
242 Best Time to Buy and Sell Stock II.java Easy Java [Array, DP, Greedy, Sequence DP]
243 Best Time to Buy and Sell Stock III .java Hard Java [Array, DP, Sequence DP]
244 Best Time to Buy and Sell Stock IV.java Hard Java [DP, Sequence DP]
245 Russian Doll Envelopes.java Hard Java [Binary Search, Coordinate DP, DP]
246 Permutation in String.java Medium Java [Two Pointers]
247 Permutations II.java Medium Java [Backtracking]
248 Shuffle an Array.java Medium Java [Permutation]
249 Find All Anagrams in a String.java Easy Java [Hash Table]
250 Group Anagrams.java Medium Java [Hash Table, String]
251 Backpack.java Medium Java [Backpack DP, DP]
252 Backpack II.java Medium Java [Backpack DP, DP]
253 Backpack V.java Medium Java [Backpack DP, DP]
254 Count Primes.java Easy Java [Hash Table, Math]
255 Delete Node in a Linked List.java Easy Java [Linked List]
256 Excel Sheet Column Number.java Easy Java [Math]
257 Excel Sheet Column Title.java Easy Java [Math]
258 Flip Game.java Easy Java [String]
259 Expression Tree Build.java Hard Java [Binary Tree, Expression Tree, Minimum Binary Tree, Stack]
260 Expression Evaluation.java Hard Java [Binary Tree, DFS, Expression Tree, Minimum Binary Tree, Stack]
261 Convert Expression to Polish Notation.java Hard Java [Binary Tree, DFS, Expression Tree, Stack]
262 Convert Expression to Reverse Polish Notation.java Hard Java [Binary Tree, DFS, Expression Tree, Stack]
263 Evaluate Reverse Polish Notation.java Medium Java [Stack]
264 Decode Ways II.java Hard Java [DP, Partition DP]
265 Palindrome Partitioning II.java Hard Java [DP, Partition DP]
266 Backpack III.java Hard Java [Backpack DP, DP]
267 First Missing Positive.java Hard Java [Array]
268 Implement strStr().java Easy Java [String, Two Pointers]
269 Insertion Sort List.java Medium Java [Linked List, Sort]
270 Integer to English Words.java Hard Java [Math, String]
271 Interleaving Positive and Negative Numbers.java Medium Java [Two Pointers]
272 Largest Number.java Medium Java [Sort]
273 Last Position of Target.java Easy Java [Binary Search]
274 Length of Last Word.java Easy Java [String]
275 Longest Common Substring.java Medium Java [DP, Double Sequence DP, String]
276 Longest Increasing Continuous subsequence.java Easy Java [Array, Coordinate DP, DP]
277 Longest Increasing Continuous subsequence II.java Medium Java [Array, Coordinate DP, DP, Memoization]
278 N-Queens.java Hard Java [Backtracking]
279 N-Queens II.java Hard Java [Backtracking]
280 Longest Words.java Easy Java [Hash Map, String]
281 Maximum Subarray.java Easy Java [Array, DFS, DP, Divide and Conquer, PreSum, Sequence DP]
282 Maximum Subarray II.java Medium Java [Array, DP, Greedy, PreSum, Sequence DP]
283 Median.java Easy Java [Array, Quick Select, Quick Sort]
284 Merge Sorted Array.java Easy Java [Array, Two Pointers]
285 Middle of Linked List.java Easy Java [Linked List]
286 Singleton.java Easy Java [Design]
287 Remove Linked List Elements.java Easy Java [Linked List]
288 Fibonacci.java Easy Java [DP, Math, Memoization]
289 Palindrome Linked List.java Easy Java [Linked List, Two Pointers]
290 Reverse Linked List.java Easy Java [Linked List]
291 Reverse Linked List II .java Medium Java [Linked List]
292 Palindrome Permutation.java Easy Java [Hash Table]
293 Valid Palindrome.java Easy Java [String, Two Pointers]
294 Implement Stack using Queues.java Easy Java [Design, Stack]
295 Implement Stack.java Easy Java [Stack]
296 Invert Binary Tree.java Easy Java [BFS, DFS, Tree]
297 Maximum Depth of Binary Tree.java Easy Java [DFS, Tree]
298 Minimum Depth of Binary Tree.java Easy Java [BFS, DFS, Tree]
299 Symmetric Tree.java Easy Java [BFS, DFS, Tree]
300 Tweaked Identical Binary Tree.java Easy Java [DFS, Tree]
301 Merge Two Binary Trees.java Easy Java [DFS, Tree]
302 Subtree.java Easy Java [DFS, Tree]
303 Lowest Common Ancestor of a Binary Tree.java Medium Java [DFS, Tree]
304 Lowest Common Ancestor II.java Easy Java [Hash Table, Tree]
305 Lowest Common Ancestor of a Binary Search Tree.java Medium Java [BST, DFS, Tree]
306 Hash Function.java Easy Java [Hash Table]
307 Merge Two Sorted Lists.java Easy Java [Linked List]
308 Missing Number.java Easy Java [Array, Bit Manipulation, Math]
309 LRU Cache.java Hard Java [Design, Hash Table, Linked List]
310 Remove Duplicates from Sorted Array.java Easy Java [Array, Two Pointers]
311 Remove Duplicates from Sorted Array II.java Medium Java [Array, Two Pointers]
312 Remove Duplicates from Sorted List.java Easy Java [Linked List]
313 Remove Duplicates from Sorted List II.java Medium Java [Linked List]
314 QuickSort.java Medium Java [Sort]
315 MergeSort.java Medium Java [Merge Sort, Sort]
316 Longest Word in Dictionary.java Easy Java [Hash Table, Trie]
317 Anagrams.java Medium Java [Array, Hash Map]
318 Binary Tree Level Order Traversal.java Medium Java [BFS, DFS, Tree]
319 Binary Tree Level Order Traversal II.java Medium Java [BFS, Tree]
320 Binary Tree Longest Consecutive Sequence II.java Medium Java [DFS, Divide and Conquer, Double Recursive, Tree]
321 Binary Tree Maximum Path Sum.java Hard Java [DFS, DP, Tree, Tree DP]
322 Path Sum.java Easy Java [DFS, Tree]
323 Path Sum II.java Easy Java [Backtracking, DFS, Tree]
324 Path Sum III.java Easy Java [DFS, Double Recursive, Tree]
325 Rotate String.java Easy Java [String]
326 Path Sum IV.java Medium Java [DFS, Hash Map, Tree]
327 Combinations.java Medium Java [Backtracking, Combination, DFS]
328 Combination Sum.java Medium Java [Array, Backtracking, Combination, DFS]
329 Combination Sum II.java Medium Java [Array, Backtracking, Combination, DFS]
330 Combination Sum III.java Medium Java [Array, Backtracking, Combination, DFS]
331 Combination Sum IV.java Medium Java [Array, Backpack DP, DP]
332 Subset.java Medium Java [Array, BFS, Backtracking, Bit Manipulation, DFS]
333 Subsets II.java Medium Java [Array, BFS, Backtracking, DFS]
334 Binary Tree Right Side View.java Medium Java [BFS, DFS, Tree]
335 Binary Tree Maximum Path Sum II.java Medium Java [DFS, Tree]
336 Rotate List.java Medium Java [Linked List, Two Pointers]
337 Basic Calculator.java Hard Java [Binary Tree, Expression Tree, Math, Minimum Binary Tree, Stack]
338 Longest Consecutive Sequence.java Hard Java [Array, Hash Table, Union Find]
339 Binary Tree Longest Consecutive Sequence.java Medium Java [DFS, Divide and Conquer, Tree]
340 Number of Connected Components in an Undirected Graph.java Medium Java [BFS, DFS, Graph, Union Find]
341 Next Closest Time.java Medium Java [Basic Implementation, Enumeration, String]
342 Serilization and Deserialization Of Binary Tree.java Hard Java [BFS, DFS, Design, Divide and Conquer, Tree]
343 Partition Array.java Medium Java [Array, Quick Sort, Sort, Two Pointers]
344 Word Ladder.java Medium Java [BFS]
345 Word Break.java Medium Java [DP, Sequence DP]
346 Unique Word Abbreviation.java Medium Java [Design, Hash Table]
347 Unique Binary Search Tree II.java Medium Java [BST, DP, Divide and Conquer, Tree]
348 Ugly Number.java Medium Java [Math]
349 Top K Frequent Words.java Medium Java [Hash Table, Heap, PriorityQueue, Trie]
350 Segment Tree Build.java Medium Java [Binary Tree, Divide and Conquer, Segment Tree]
351 Segment Tree Build II.java Medium Java [Binary Tree, Divide and Conquer, Segment Tree]
352 Segment Tree Query.java Medium Java [Binary Tree, DFS, Divide and Conquer, Segment Tree]
353 Segment Tree Modify.java Medium Java [Binary Tree, DFS, Divide and Conquer, Segment Tree]
354 Segment Tree Query II.java Medium Java [Binary Tree, DFS, Divide and Conquer, Segment Tree]
355 Count of Smaller Numbers After Self.java Review Java [BST, Binary Indexed Tree, Binary Search, Divide and Conquer, Segment Tree]
356 ColorGrid.java Medium Java [Design, Hash Table]
357 Container With Most Water.java Medium Java [Array, Two Pointers]
358 Convert Binary Search Tree to Doubly Linked List.java Medium Java [Linked List, Tree]
359 Copy List with Random Pointer.java Medium Java [Hash Table, Linked List]
360 Encode and Decode Strings.java Medium Java [String]
361 Fast Power.java Medium Java [DFS, Divide and Conquer]
362 Find the Connected Component in the Undirected Graph.java Medium Java [BFS, DFS]
363 HashWithCustomizedClass(LinkedList).java Medium Java [Hash Table]
364 Interval Minimum Number.java Medium Java [Binary Search, Divide and Conquer, Segment Tree]
365 Interval Sum.java Medium Java [Binary Search, Segment Tree]
366 Kth Smallest Element in a BST.java Medium Java [BST, DFS, Stack, Tree]
367 Longest Common Prefix.java Easy Java [String]
368 Majority Element II.java Medium Java [Array]
369 Merge k Sorted Lists.java Medium Java [Divide and Conquer, Heap, Linked List, PriorityQueue]
370 Merge k Sorted Arrays.java Medium Java [Heap, PriorityQueue]
371 Permutations.java Medium Java [Backtracking, DFS, Permutation]
372 Partition List.java Medium Java [Linked List, Two Pointers]
373 Peeking Iterator.java Medium Java [Design]
374 Rehashing.java Medium Java [Hash Table]
375 Reorder List.java Medium Java [Linked List]
376 Restore IP Addresses.java Medium Java [Backtracking, DFS, String]
377 Reverse Words in a String.java Medium Java [String]
378 Reverse Words in a String II.java Medium Java [String]
379 Reverse Words in a String III.java Easy Java [String]
380 Search a 2D Matrix.java Medium Java [Array, Binary Search]
381 Search a 2D Matrix II.java Medium Java [Binary Search, Divide and Conquer]
382 Search for a Range.java Medium Java [Array, Binary Search]
383 Search Range in Binary Search Tree .java Medium Java [BST, Binary Tree]
384 Merge Sorted Array II.java Easy Java [Array]
385 Nth to Last Node in List.java Easy Java [Linked List]
386 Unique Characters.java Easy Java [Array, String]
387 Sort List.java Medium Java [Divide and Conquer, Linked List, Merge Sort, Sort]
388 Summary Ranges.java Medium Java [Array]
389 Top K Frequent Elements.java Medium Java [Hash Table, Heap, PriorityQueue]
390 Topological Sorting.java Medium Java [BFS, DFS, Topological Sort]
391 Median of two Sorted Arrays.java Hard Java [Array, Binary Search, DFS, Divide and Conquer]
392 Remove Duplicate Letters.java Hard Java [Greedy, Hash Table, Stack]
393 Spiral Matrix.java Medium Java [Array, Enumeration]
394 Expression Add Operators.java Hard Java [Backtracking, DFS, Divide and Conquer, String]
395 Insert Interval.java Hard Java [Array, PriorityQueue, Sort]
396 Shortest Palindrome.java Hard Java [KMP, String]
397 2 Sum.java Easy Java [Array, Hash Table]
398 K Empty Slots.java Hard Java [Array, BST, TreeSet]
399 Count of Range Sum.java Hard Java [BST, Divide and Conquer, Merge Sort, PreSum]
400 Max Sum of Rectangle No Larger Than K.java Hard Java [Array, BST, Binary Search, DP, Queue, TreeSet]
401 Perfect Rectangle.java Hard Java [Design, Geometry, Hash Table]
402 Construct Binary Tree from Inorder and Postorder Traversal.java Medium Java [Array, DFS, Divide and Conquer, Tree]
403 Generate Parentheses.java Medium Java [Backtracking, DFS, Sequence DFS, String]
404 Strobogrammatic Number II.java Medium Java [DFS, Math, Sequence DFS]
405 Alien Dictionary.java Hard Java [BFS, Backtracking, DFS, Graph, Topological Sort]
406 Flip Game II.java Medium Java [DFS, DP, backtracking]
407 Max Area of Island.java Easy Java [Array, DFS]
408 Max Points on a Line.java Hard Java [Array, Geometry, Hash Table, Math]
409 Number of Digit One.java Hard Java [Math]
410 Binary Representation.java Hard Java [Bit Manipulation, String]
411 Palindrome Partitioning.java Medium Java [Backtracking, DFS]
412 Graph Valid Tree.java Medium Java [BFS, DFS, Graph, Union Find]
413 Recover Binary Search Tree.java Hard Java [BST, DFS, Tree]
414 Subarray Sum.java Easy Java [Array, Hash Table]
415 Submatrix Sum.java Medium Java [Array, Hash Table, PreSum]
416 Longest Palindromic Substring.java Medium Java [DP, String]
417 Longest Palindromic Subsequence.java Medium Java [DFS, DP, Interval DP, Memoization]
418 Jump Game II.java Hard Java [Array, Coordinate DP, DP, Greedy]
419 Gas Station.java Medium Java [Greedy]
420 Triangles.java Medium Java [Array, Coordinate DP, DFS, DP, Memoization]
421 Range Sum Query - Immutable.java Easy Java [DP, PreSum]
422 Longest Valid Parentheses.java Hard Java [Coordinate DP, Stack, String]
423 Remove Invalid Parentheses.java Review Java [BFS, DFS, DP]
424 Paint Fence.java Easy Java [DP, Sequence DP]
425 Merge Intervals.java Medium Java [Array, PriorityQueue, Sort, Sweep Line]
426 H-Index.java Medium Java [Bucket Sort, Hash Table, Sort]
427 H-Index II.java Medium Java [Binary Search]
428 Sort Color.java Medium Java [Array, Partition, Sort, Two Pointers]
429 Sort Colors II.java Medium Java [Partition, Sort, Two Pointers]
430 Sort Letters by Case.java Medium Java [Partition, Sort, String, Two Pointers]
431 Subarray Sum Closest.java Medium Java [PreSum, Sort]

About

Java Solutions to problems on LintCode/LeetCode

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.