coolspring1293 / LintCode

Java Solutions to problems on LintCode/LeetCode

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Java Solutions to problems on LintCode/LeetCode


Languages

Language:Java 100.0%