Java Algorithm Problems

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

转载于:https://www.cnblogs.com/think90/p/8718647.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值