Skip to content

About

Java Solutions to problems on LintCode/LeetCode

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Java Algorithm Problems

前戏

To host Java Solutions to algorithm problems from LintCode, LeetCode...etc. I Will try to revise the solutions once new problem or new testing case occurs. Mid 2016 I realize that people may want to contribute to this repo, and make it better by contributing fixes, better solutions ... etc. Free free to send pull request. Once verified, I'm happy to merge in! CALM DOWN AND CODE ON! Fellows!

News

2017年1月17日, 陪我征战多年的 2014 MackBookPro i7 3.xGHz 被一杯清水结束了生命,在这里深切缅怀悼念。这个Git Repo是小M陪我一字一句打出来的,有过蹉跎,也有过辉煌,陪我从Day1刷题一直刷到了Day1之中。直至今日,小M记录的代码还在给广大coder带来福利。为了延续小M无私奉献的精神,我将重新在这个repo活跃起来,重整已有的问题,也会尝试总结一些System Design方面的想法,将小M还没有能够达成的梦想实现。

Squence Problem Level Language Video Tutorial
0 2 Sum II - Input array is sorted.java Medium Java
1 2 Sum II.java Medium Java
2 2 Sum.java Medium Java Link
3 3 Sum Closest.java Medium Java
4 3 Sum Smaller.java Java
5 3 Sum.java Medium Java
6 4 Sum.java Medium Java
7 A+B.java Easy Java
8 Add and Search Word.java Medium Java
9 Add Binary.java Easy Java
10 Add Two Numbers II.java Medium Java
11 Add Two Numbers.java Easy Java
12 Alien Dictionary.java Hard Java
13 Anagrams.java Medium Java
14 Array Partition I.java Easy Java
15 Backpack II.java Medium Java
16 Backpack.java Medium Java
17 Balanced Binary Tree.java Medium Java
18 Best Time to Buy and Sell Stock I.java Easy Java
19 Best Time to Buy and Sell Stock II.java Easy Java
20 Best Time to Buy and Sell Stock III .java Medium Java
21 Best Time to Buy and Sell Stock IV.java Hard Java
22 Binary Representation.java Hard Java
23 Binary Search Tree Iterator.java Hard Java
24 Binary Tree Inorder Traversal.java Easy Java
25 Binary Tree Level Order Traversal II.java Medium Java
26 Binary Tree Level Order Traversal.java Medium Java
27 Binary Tree Longest Consecutive Sequence.java Medium Java
28 Binary Tree Maximum Path Sum II.java Medium Java
29 Binary Tree Maximum Path Sum.java Medium Java
30 Binary Tree Path Sum.java Easy Java
31 Binary Tree Paths.java Easy Java
32 Binary Tree Postorder Traversal.java Easy Java
33 Binary Tree Preorder Traversal.java Easy Java
34 Binary Tree Right Side View.java Medium Java
35 Binary Tree Serialization.java Medium Java
36 Binary Tree Zigzag Level Order Traversal.java Medium Java
37 Building Outline.java Hard Java
38 Burst Balloons.java Java
39 Change to Anagram.java Easy Java
40 Classical Binary Search.java Easy Java
41 Climbing Stairs.java Easy Java
42 Clone Graph.java Medium Java
43 Closest Binary Search Tree Value.java Easy Java
44 Closest Number in Sorted Array.java Easy Java
45 Coins in a Line.java Java
46 ColorGrid.java Medium Java
47 Combination Sum II.java Medium Java
48 Combination Sum.java Medium Java
49 Combinations.java Medium Java
50 Compare Strings.java Easy Java
51 Complete Binary Tree.java Easy Java
52 Construct Binary Tree from Inorder and Postorder Traversal.java Medium Java
53 Construct Binary Tree from Inorder and Preorder Traversal.java Medium Java
54 Container With Most Water.java Java
55 Convert Binary Search Tree to Doubly Linked List.java Medium Java
56 Convert Expression to Polish Notation.java Hard Java
57 Convert Expression to Reverse Polish Notation.java Hard Java
58 Convert Integer A to Integer B.java Easy Java
59 Convert Sorted Array to Binary Search Tree With Minimal Height.java Easy Java
60 Convert Sorted List to Binary Search Tree.java Medium Java
61 Copy List with Random Pointer.java Medium Java
62 Cosine Similarity.java Easy Java
63 Count 1 in Binary.java Easy Java
64 Count and Say.java Easy Java
65 Count of Smaller Number before itself.java Hard Java
66 Count of Smaller Number.java Medium Java
67 Count Primes.java Easy Java
68 Course Schedule II.java Medium Java
69 Course Schedule.java Medium Java
70 Data Stream Median.java Hard Java
71 Delete Digits.java Medium Java
72 Delete Node in the Middle of Singly Linked List.java Easy Java
73 Distinct Subsequences.java Hard Java
74 Edit Distance.java Medium Java
75 Encode and Decode Strings.java Medium Java
76 ExcelSheetColumnNumber .java Easy Java
77 Expression Evaluation.java Hard Java
78 Expression Tree Build.java Hard Java
79 Fast Power.java Medium Java
80 Fibonacci.java Easy Java
81 Find All Numbers Disappeared in an Array.java Easy Java
82 Find Minimum in Rotated Sorted Array II.java Java
83 Find Minimum in Rotated Sorted Array.java Java
84 Find Peak Element II.java Java
85 Find Peak Element.java Java
86 Find the Connected Component in the Undirected Graph.java Medium Java
87 Find the Weak Connected Component in the Directed Graph.java Medium Java
88 First Bad Version.java Medium Java
89 First Missing Positive.java Java
90 Flatten 2D Vector.java Java
91 Flatten Binary Tree to Linked List.java Easy Java
92 Flattern 2D Vector.java Java
93 Flip Game II.java Java
94 Flip Game.java Java
95 Fraction to Recurring Decimal.java Java
96 Game of Life.java Java
97 Gas Station.java Java
98 Generate Parentheses.java Medium Java
99 Graph Valid Tree.java Medium Java
100 Gray Code.java Medium Java
101 Group Anagrams.java Medium Java
102 Group Shifted Strings.java Easy Java
103 H-Index II.java Java
104 H-Index.java Java
105 Hamming Distance.java Easy Java
106 Happy Number.java Easy Java
107 Hash Function.java Easy Java
108 HashHeap.java Hard Java
109 HashWithArray.java Easy Java
110 HashWithCustomizedClass(LinkedList).java Medium Java
111 Heapify.java Medium Java
112 Heaters.java Easy Java
113 House Robber II.java Medium Java
114 House Robber III.java Hard Java
115 House Robber.java Easy Java
116 Identical Binary Tree.java Easy Java
117 Implement Queue by Two Stacks.java Java
118 Implement Queue using Stacks.java Easy Java
119 Implement Stack by Two Queues.java Java
120 Implement Stack using Queues.java Easy Java
121 Implement Stack.java Java
122 Implement strStr().java Java
123 Implement Trie (Prefix Tree).java Java
124 Implement Trie.java Medium Java
125 IndexMatch.java Easy Java
126 Inorder Successor in Binary Search Tree.java Medium Java
127 Insert Interval.java Easy Java
128 Insert Node in a Binary Search Tree .java Easy Java
129 Insertion Sort List.java Java
130 Integer to English Words.java Java
131 Interleaving Positive and Negative Numbers.java Java
132 Interleaving String.java Java
133 Intersection of Two Arrays.java Easy Java
134 Intersection of Two Linked Lists.java Easy Java
135 Interval Minimum Number.java Medium Java
136 Interval Sum II.java Hard Java
137 Interval Sum.java Medium Java
138 Invert Binary Tree.java Easy Java
139 Isomorphic Strings.java Easy Java
140 Jump Game II.java Hard Java
141 Jump Game.java Medium Java
142 Kth Largest Element.java Medium Java
143 Kth Smallest Element in a BST.java Java
144 Kth Smallest Number in Sorted Matrix.java Medium Java
145 Kth Smallest Sum In Two Sorted Arrays.java Hard Java
146 Largest Number.java Java
147 Largest Rectangle in Histogram.java Java
148 Last Position of Target.java Java
149 Length of Last Word.java Java
150 Letter Combinations of a Phone Number.java Medium Java
151 Linked List Cycle II.java Java
152 Linked List Cycle.java Java
153 Longest Common Prefix.java Medium Java
154 Longest Common Subsequence.java Java
155 Longest Common Substring.java Java
156 Longest Consecutive Sequence.java Java
157 Longest Increasing Continuous subsequence II.java Java
158 Longest Increasing Continuous subsequence.java Java
159 Longest Increasing Subsequence.java Java
160 Longest Palindromic Substring.java Medium Java
161 Longest Substring with At Most K Distinct Characters.java Medium Java
162 Longest Substring Without Repeating Characters.java Medium Java
163 Longest Words.java Java
164 Lowest Common Ancestor II.java Easy Java
165 Lowest Common Ancestor of a Binary Search Tree.java Medium Java
166 Lowest Common Ancestor.java Easy Java
167 LRU Cache.java Hard Java
168 Majority Number II.java Medium Java
169 Majority Number III.java Medium Java
170 Majority Number.java Easy Java
171 Matrix Zigzag Traversal.java Easy Java
172 Max Area of Island.java Easy Java
173 Max Consecutive Ones.java Easy Java
174 Max Tree.java Hard Java
175 Maximal Square.java Medium Java
176 Maximum Depth of Binary Tree.java Easy Java
177 Maximum Product Subarray.java Java
178 Maximum Subarray III.java Java
179 Maximum Subarray.java Java
180 Maximum SubarrayII.java Java
181 MaximumSubarray.java Java
182 MaximumSubarrayII.java Java
183 Median of two Sorted Arrays.java Hard Java
184 Median.java Java
185 Meeting Rooms II.java Medium Java
186 Meeting Rooms.java Easy Java
187 Merge Intervals.java Easy Java
188 Merge k Sorted Arrays.java Medium Java
189 Merge k Sorted Lists.java Medium Java
190 Merge Sorted Array II.java Java
191 Merge Sorted Array.java Easy Java
192 Merge Two Binary Trees.java Easy Java
193 Merge Two Sorted List.java Easy Java
194 Merge Two Sorted Lists.java Easy Java
195 Middle of Linked List.java Java
196 Min Stack.java Easy Java
197 Minimum Height Trees.java Java
198 Minimum Path Sum.java Java
199 Minimum Size Subarray Sum.java Medium Java
200 Minimum Subarray.java Java
201 Minimum Window Substring.java Hard Java
202 MinimumDepthOfBinaryTree.java Easy Java
203 Missing Ranges.java Java
204 Multiply Strings.java Medium Java
205 Next Permutation.java Medium Java
206 Nim Game.java Java
207 NQueens.java Java
208 NQueensII.java Java
209 Nth to Last Node in List.java Java
210 Number of Airplane in the sky.java Medium Java
211 Number of Islands II.java Hard Java
212 Number of Islands.java Medium Java
213 Number Triangles.java Java
214 O(1) Check Power of 2.java Java
215 One Edit Distance.java Medium Java
216 Paint Fence.java Java
217 Palindrome Linked List.java Java
218 Palindrome Partitioning II.java Java
219 Palindrome Partitioning.java Java
220 Palindrome Permutation II.java Medium Java
221 Palindrome Permutation.java Easy Java
222 Partition Array by Odd and Even.java Java
223 Partition Array.java Java
224 Partition List.java Java
225 Pascal's Triangle II.java Easy Java
226 Peeking Iterator.java Java
227 Perfect Squares.java Java
228 Permutation Index.java Easy Java
229 Permutation Sequence.java Medium Java
230 Permutations II.java Medium Java
231 Permutations.java Medium Java
232 Plus One.java Java
233 Populating Next Right Pointers in Each Node II.java Hard Java
234 Populating Next Right Pointers in Each Node.java Medium Java
235 Pow(x,n).java Java
236 Power of Three.java Easy Java
237 Product of Array Exclude Itself.java Java
238 QuickSort.java Easy Java
239 Recover Rotated Sorted Array.java Java
240 Rehashing.java Medium Java
241 Remove Duplicates from Sorted Array.java Easy Java
242 Remove Duplicates from Sorted List II.java Java
243 Remove Duplicates from Sorted List.java Easy Java
244 Remove Duplicates from Unsorted List.java Java
245 Remove Linked List Elements.java Java
246 Remove Node in Binary Search Tree.java Hard Java
247 Remove Nth Node From End of List.java Java
248 Reorder List.java Java
249 Reshape the Matrix.java Easy Java
250 Restore IP Addresses.java Java
251 Reverse Integer.java Easy Java
252 Reverse Linked List II .java Java
253 Reverse Linked List.java Easy Java
254 Reverse String.java Easy Java
255 Reverse Words in a String II.java Medium Java
256 Reverse Words in a String.java Medium Java
257 reverseInteger.java Java
258 Roman to Integer.java Easy Java
259 Rotate Image.java Medium Java
260 Rotate List.java Java
261 Rotate String.java Java
262 Search a 2D Matrix II.java Java
263 Search a 2D Matrix.java Java
264 Search for a Range.java Java
265 Search Insert Position.java Java
266 Search Range in Binary Search Tree .java Medium Java
267 Search Rotated in Sorted Array II.java Java
268 Search Rotated in Sorted Array.java Hard Java
269 Segment Tree Build II.java Medium Java
270 Segment Tree Build.java Medium Java
271 Segment Tree Modify.java Medium Java
272 Segment Tree Query II.java Medium Java
273 Segment Tree Query.java Medium Java
274 Serilization and Deserialization Of Binary Tree.java Java
275 Shortest Word Distance.java Easy Java
276 Single Number II.java Java
277 Single Number III.java Java
278 Single Number.java Easy Java
279 Singleton.java Java
280 Sliding Window Maximum.java Java
281 Sliding Window Median.java Java
282 Sort Color.java Java
283 Sort Colors II.java Java
284 Sort Letters by Case.java Java
285 Sort List.java Java
286 Space Replacement.java Java
287 Sqrt(x).java Easy Java
288 Stone Game.java Java
289 String Permutation.java Easy Java
290 String to Integer(atoi).java Easy Java
291 Strobogrammatic Number II.java Java
292 Strobogrammatic Number.java Java
293 StrStr.java Java
294 Subarray Sum Closest.java Medium Java
295 Subarray Sum.java Easy Java
296 Subset.java Medium Java
297 Subsets II.java Medium Java
298 Subtree.java Easy Java
299 Summary Ranges.java Java
300 Surrounded Regions.java Java
301 Swap Nodes in Pairs.java Java
302 Symmetric Binary Tree.java Easy Java
303 The Smallest Difference.java Java
304 Top K Frequent Words.java Medium Java
305 Topological Sorting.java Medium Java
306 Total Occurrence of Target.java Java
307 Trailing Zeros.java Java
308 Trapping Rain Water II.java Hard Java
309 Trapping Rain Water.java Medium Java
310 Triangle Count.java Java
311 Tweaked Identical Binary Tree.java Easy Java
312 Two Lists Sum.java Java
313 Two Strings Are Anagrams.java Easy Java
314 Ugly Number II.java Java
315 Ugly Number.java Medium Java
316 Unique Binary Search Tree II.java Java
317 Unique Binary Search Tree.java Java
318 Unique Characters.java Java
319 Unique Path.java Medium Java
320 Unique Paths II.java Java
321 Unique Word Abbreviation.java Java
322 Update Bits.java Java
323 Valid Anagram.java Easy Java
324 Valid Palindrome.java Easy Java Link
325 Valid Parentheses.java Easy Java
326 Valid Sudoku.java Easy Java
327 Validate Binary Search Tree.java Medium Java
328 Wiggle Sort.java Java
329 Wood Cut.java Java
330 Word Break II.java Hard Java
331 Word Break.java Medium Java
332 Word Ladder II.java Hard Java
333 Word Ladder.java Medium Java
334 Word Pattern.java Easy Java
335 Word Search II.java Hard Java
336 Word Search.java Medium Java
337 Zigzag Iterator.java Java

About

Java Solutions to problems on LintCode/LeetCode

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages