Skip to content
 
 

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

About

Java Solutions to problems on LintCode/LeetCode

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages