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

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

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.