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给我.

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

About

Java Solutions to problems on LintCode/LeetCode

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages