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

About

Java Solutions to problems on LintCode/LeetCode

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages