lgliushq / LintCode

Java Solutions to problems on LintCode/LeetCode

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Java Solutions to problems on LintCode/LeetCode


Languages

Language:Java 100.0%