Skip to content

Latest commit

 

History

History
932 lines (633 loc) · 76.4 KB

File metadata and controls

932 lines (633 loc) · 76.4 KB

Table of Contents

Range DP (2)

Squence Problem Level Language Tags Video Tutorial
0 Scramble String.java Hard Java [DP, Range DP, String]
1 Burst Balloons.java Hard Java [DP, Divide and Conquer, Memoization, Range DP]

String (23)

Squence Problem Level Language Tags Video Tutorial
0 Judge Route Circle.java Easy Java [String]
1 First Unique Character in a String.java Easy Java [Hash Table, String]
2 Reverse Vowels of a String.java Easy Java [String, Two Pointers]
3 Scramble String.java Hard Java [DP, Range DP, String]
4 Interleaving String.java Hard Java [DP, String]
5 Letter Combinations of a Phone Number.java Medium Java [Backtracking, String]
6 Edit Distance.java Hard Java [DP, Double Sequence DP, String]
7 Distinct Subsequences.java Hard Java [DP, String]
8 Regular Expression Matching.java Review Java [Backtracking, DP, String]
9 Wildcard Matching.java Hard Java [Backtracking, DP, Greedy, String]
10 Add Binary.java Easy Java [Math, String]
11 Longest Substring Without Repeating Characters.java Medium Java [Hash Table, String, Two Pointers]
12 Minimum Window Substring.java Hard Java [Hash Table, String, Two Pointers]
13 Longest Substring with At Most K Distinct Characters.java Medium Java [Hash Table, String]
14 Palindrome Pairs.java Hard Java [Hash Table, String, Trie]
15 Change to Anagram.java Easy Java [String]
16 Compare Version Numbers.java Medium Java [String]
17 Compare Strings.java Easy Java [String]
18 Count and Say.java Easy Java [Basic Implementation, String]
19 One Edit Distance.java Medium Java [String]
20 Decode Ways.java Medium Java [DP, Partition DP, String]
21 Group Anagrams.java Medium Java [Hash Map, String]
22 Flip Game.java Easy Java [String]

Math (16)

Squence Problem Level Language Tags Video Tutorial
0 Power of Three.java Easy Java [Math]
1 Plus One.java Easy Java [Array, Math]
2 Power of Two.java Easy Java [Bit Manipulation, Math]
3 Encode and Decode TinyURL.java Medium Java [Hash Table, Math]
4 Perfect Squares.java Medium Java [BFS, DP, Math, Partition DP]
5 Valid Perfect Square.java Review Java [Binary Search, Math]
6 Pow(x,n).java Medium Java [Binary Search, Math]
7 Add Binary.java Easy Java [Math, String]
8 Add Digits.java Easy Java [Math]
9 Add Two Numbers.java Medium Java [Linked List, Math]
10 Reverse Integer.java Easy Java [Math]
11 Sqrt(x).java Easy Java [Binary Search, Math]
12 Continuous Subarray Sum.java Medium Java [Coordinate DP, DP, Math]
13 Count Primes.java Easy Java [Hash Table, Math]
14 Excel Sheet Column Number.java Easy Java [Math]
15 Excel Sheet Column Title.java Easy Java [Math]

DP (55)

Squence Problem Level Language Tags Video Tutorial
0 Coin Change.java Medium Java [DP, Memoization, Sequence DP]
1 Maximum Product Subarray.java Medium Java [Array, DP]
2 k Sum.java Hard Java [DP]
3 Longest Increasing Subsequence.java Medium Java [Binary Search, Coordinate DP, DP, Memoization, Sequence DP]
4 Unique Binary Search Tree.java Medium Java [BST, DP, Tree]
5 Unique Paths II.java Medium Java [Array, Coordinate DP, DP]
6 Bomb Enemy.java Medium Java [Coordinate DP, DP]
7 Perfect Squares.java Medium Java [BFS, DP, Math, Partition DP]
8 Backpack VI.java Medium Java [DP]
9 Copy Books.java Hard Java [Binary Search, DP, Partition DP]
10 Backpack III.java Review Java [DP]
11 Longest Palindromic Subsequence.java Medium Java [DP]
12 Scramble String.java Hard Java [DP, Range DP, String]
13 Best Time to Buy and Sell Stock with Cooldown.java Medium Java [DP]
14 Longest Common Subsequence.java Medium Java [DP, Double Sequence DP]
15 Interleaving String.java Hard Java [DP, String]
16 Edit Distance.java Hard Java [DP, Double Sequence DP, String]
17 Distinct Subsequences.java Hard Java [DP, String]
18 Regular Expression Matching.java Review Java [Backtracking, DP, String]
19 Wildcard Matching.java Hard Java [Backtracking, DP, Greedy, String]
20 Ones and Zeroes.java Hard Java [DP]
21 Word Break II.java Review Java [Backtracking, DP]
22 Unique Path.java Medium Java [Array, Coordinate DP, DP]
23 Maximal Rectangle.java Hard Java [Array, DP, Hash Table, Stack]
24 Maximal Square.java Medium Java [Coordinate DP, DP]
25 Longest Increasing Path in a Matrix.java Hard Java [DFS, DP, Memoization, Topological Sort]
26 Coins in a Line.java Medium Java [DP, Game Theory, Greedy]
27 Coins in a Line II.java Medium Java [Array, DP, Game Theory, Memoization, MiniMax]
28 Climbing Stairs.java Easy Java [DP, Memoization, Sequence DP]
29 Coins in a Line III.java Hard Java [Array, DP, Game Theory, Interval DP, Memoization]
30 Burst Balloons.java Hard Java [DP, Divide and Conquer, Memoization, Range DP]
31 Nim Game.java Easy Java [Brainteaser, DP, Game Theory]
32 K Edit Distance.java Hard Java [DP, Double Sequence DP, Trie]
33 Jump Game.java Medium Java [Array, DP, Greedy]
34 Coin Change 2.java Medium Java [DP, Sequence DP]
35 Paint House.java Easy Java [DP, Sequence DP]
36 Decode Ways.java Medium Java [DP, Partition DP, String]
37 Longest Continuous Increasing Subsequence.java Easy Java [Array, Coordinate DP, DP]
38 Minimum Path Sum.java Medium Java [Array, Coordinate DP, DP]
39 Counting Bits.java Medium Java [Bit Manipulation, Bitwise DP, DP]
40 Continuous Subarray Sum.java Medium Java [Coordinate DP, DP, Math]
41 House Robber.java Easy Java [DP, Sequence DP]
42 House Robber II.java Medium Java [DP, Sequence DP]
43 House Robber III.java Medium Java [DFS, DP, Status DP, Tree]
44 Paint House II.java Hard Java [DP, Sequence DP]
45 Best Time to Buy and Sell Stock I.java Easy Java [Array, DP, Sequence DP]
46 Best Time to Buy and Sell Stock II.java Easy Java [Array, DP, Greedy, Sequence DP]
47 Best Time to Buy and Sell Stock III .java Hard Java [Array, DP, Sequence DP]
48 Best Time to Buy and Sell Stock IV.java Hard Java [DP, Sequence DP]
49 Russian Doll Envelopes.java Hard Java [Binary Search, Coordinate DP, DP]
50 Jump Game II.java Hard Java [Array, Coordinate DP, DP, Greedy]
51 Palindrome Partitioning II.java Hard Java [DP, Partition DP]
52 Backpack.java Medium Java [Backpack DP, DP]
53 Backpack II.java Medium Java [Backpack DP, DP]
54 Backpack V.java Medium Java [Backpack DP, DP]

Double Sequence DP (3)

Squence Problem Level Language Tags Video Tutorial
0 Longest Common Subsequence.java Medium Java [DP, Double Sequence DP]
1 Edit Distance.java Hard Java [DP, Double Sequence DP, String]
2 K Edit Distance.java Hard Java [DP, Double Sequence DP, Trie]

BFS (11)

Squence Problem Level Language Tags Video Tutorial
0 Perfect Squares.java Medium Java [BFS, DP, Math, Partition DP]
1 Clone Graph.java Medium Java [BFS, DFS, Graph]
2 Number of Islands.java Medium Java [BFS, DFS, Union Find]
3 Graph Valid Tree.java Medium Java [BFS, DFS, Graph, Union Find]
4 Surrounded Regions.java Review Java [BFS, DFS, Union Find]
5 Trapping Rain Water II.java Hard Java [BFS, Heap]
6 Course Schedule.java Medium Java [BFS, DFS, Graph, Topological Sort]
7 Course Schedule II.java Medium Java [BFS, DFS, Graph, Topological Sort]
8 Alien Dictionary.java Hard Java [BFS, Backtracking, DFS, Graph, Topological Sort]
9 Binary Tree Preorder Traversal.java Easy Java [BFS, DFS, Stack, Tree]
10 Complete Binary Tree.java Easy Java [BFS, DFS, Tree]

Segment Tree (1)

Squence Problem Level Language Tags Video Tutorial
0 Building Outline.java Review Java [Binary Indexed Tree, Divide and Conquer, Heap, Segment Tree, Sweep Line]

Design (8)

Squence Problem Level Language Tags Video Tutorial
0 Binary Search Tree Iterator.java Medium Java [BST, Design, Stack, Tree]
1 Flatten Nested List Iterator.java Medium Java [Design, Stack]
2 Implement Trie.java Medium Java [Design, Trie]
3 Add and Search Word.java Medium Java [Backtracking, Design, Trie]
4 Data Stream Median.java Hard Java [Design, Heap]
5 Sliding Window Median.java Hard Java [Design, Heap]
6 Min Stack.java Easy Java [Design, Stack]
7 Implement Queue using Stacks.java Easy Java [Design, Stack]

DFS (29)

Squence Problem Level Language Tags Video Tutorial
0 Nested List Weight Sum.java Easy Java [DFS]
1 Same Tree.java Easy Java [DFS, Tree]
2 Convert Sorted Array to Binary Search Tree.java Easy Java [DFS, Tree]
3 Binary Tree Maximum Path Sum.java Review Java [DFS, Tree]
4 Construct Binary Tree from Inorder and Preorder Traversal.java Medium Java [Array, DFS, Tree]
5 Path Sum.java Easy Java [DFS, Tree]
6 Balanced Binary Tree.java Medium Java [DFS, Tree]
7 Populating Next Right Pointers in Each Node.java Medium Java [DFS, Tree]
8 Validate Binary Search Tree.java Medium Java [BST, DFS, Tree]
9 Convert Sorted List to Binary Search Tree.java Medium Java [DFS, Linked List]
10 Flatten Binary Tree to Linked List.java Medium Java [Binary Tree, DFS]
11 Binary Tree Paths.java Easy Java [Binary Tree, DFS]
12 Clone Graph.java Medium Java [BFS, DFS, Graph]
13 Number of Islands.java Medium Java [BFS, DFS, Union Find]
14 Graph Valid Tree.java Medium Java [BFS, DFS, Graph, Union Find]
15 Surrounded Regions.java Review Java [BFS, DFS, Union Find]
16 Word Search II.java Hard Java [Backtracking, DFS, Trie]
17 Expression Expand.java Medium Java [DFS, Divide and Conquer, Stack]
18 Find Peak Element II.java Hard Java [Binary Search, DFS, Divide and Conquer]
19 Longest Increasing Path in a Matrix.java Hard Java [DFS, DP, Memoization, Topological Sort]
20 Path Sum II.java Easy Java [DFS, Tree]
21 Course Schedule.java Medium Java [BFS, DFS, Graph, Topological Sort]
22 Course Schedule II.java Medium Java [BFS, DFS, Graph, Topological Sort]
23 Alien Dictionary.java Hard Java [BFS, Backtracking, DFS, Graph, Topological Sort]
24 Binary Tree Preorder Traversal.java Easy Java [BFS, DFS, Stack, Tree]
25 Complete Binary Tree.java Easy Java [BFS, DFS, Tree]
26 House Robber III.java Medium Java [DFS, DP, Status DP, Tree]
27 Palindrome Partitioning.java Medium Java [Backtracking, DFS]
28 Flip Game II.java Review Java [DFS, backtracking]

Game Theory (4)

Squence Problem Level Language Tags Video Tutorial
0 Coins in a Line.java Medium Java [DP, Game Theory, Greedy]
1 Coins in a Line II.java Medium Java [Array, DP, Game Theory, Memoization, MiniMax]
2 Coins in a Line III.java Hard Java [Array, DP, Game Theory, Interval DP, Memoization]
3 Nim Game.java Easy Java [Brainteaser, DP, Game Theory]

Hash Table (19)

Squence Problem Level Language Tags Video Tutorial
0 Jewels and Stones.java Easy Java [Hash Table]
1 Find Anagram Mappings.java Easy Java [Hash Table]
2 Island Perimeter.java Easy Java [Hash Table]
3 First Unique Character in a String.java Easy Java [Hash Table, String]
4 Encode and Decode TinyURL.java Medium Java [Hash Table, Math]
5 2 Sum.java Easy Java [Array, Hash Table]
6 4 Sum.java Medium Java [Hash Table]
7 Intersection of Two Arrays II.java Easy Java [Binary Search, Hash Table, Sort, Two Pointers]
8 Valid Anagram.java Easy Java [Hash Table, Sort]
9 Longest Substring Without Repeating Characters.java Medium Java [Hash Table, String, Two Pointers]
10 Minimum Window Substring.java Hard Java [Hash Table, String, Two Pointers]
11 Longest Substring with At Most K Distinct Characters.java Medium Java [Hash Table, String]
12 Palindrome Pairs.java Hard Java [Hash Table, String, Trie]
13 Maximal Rectangle.java Hard Java [Array, DP, Hash Table, Stack]
14 Binary Tree Inorder Traversal.java Easy Java [Hash Table, Stack, Tree]
15 Contains Duplicate.java Easy Java [Array, Hash Table]
16 Contains Duplicate II.java Easy Java [Array, Hash Table]
17 Find All Anagrams in a String.java Easy Java [Hash Table]
18 Count Primes.java Easy Java [Hash Table, Math]

Backtracking (11)

Squence Problem Level Language Tags Video Tutorial
0 Letter Combinations of a Phone Number.java Medium Java [Backtracking, String]
1 Regular Expression Matching.java Review Java [Backtracking, DP, String]
2 Wildcard Matching.java Hard Java [Backtracking, DP, Greedy, String]
3 Word Break II.java Review Java [Backtracking, DP]
4 Add and Search Word.java Medium Java [Backtracking, Design, Trie]
5 Word Search II.java Hard Java [Backtracking, DFS, Trie]
6 Word Search.java Medium Java [Array, Backtracking]
7 Word Squares.java Hard Java [Backtracking, Trie]
8 Alien Dictionary.java Hard Java [BFS, Backtracking, DFS, Graph, Topological Sort]
9 Palindrome Partitioning.java Medium Java [Backtracking, DFS]
10 Permutations II.java Medium Java [Backtracking]

Sort (6)

Squence Problem Level Language Tags Video Tutorial
0 Wiggle Sort.java Medium Java [Array, Sort]
1 Intersection of Two Arrays II.java Easy Java [Binary Search, Hash Table, Sort, Two Pointers]
2 Valid Anagram.java Easy Java [Hash Table, Sort]
3 Meeting Rooms.java Easy Java [Sort, Sweep Line]
4 Number of Airplane in the sky.java Medium Java [Array, Interval, Sort, Sweep Line]
5 Meeting Rooms II.java Medium Java [Greedy, Heap, Sort, Sweep Line]

Tree (20)

Squence Problem Level Language Tags Video Tutorial
0 Unique Binary Search Tree.java Medium Java [BST, DP, Tree]
1 Trim a Binary Search Tree.java Easy Java [BST, Tree]
2 Binary Search Tree Iterator.java Medium Java [BST, Design, Stack, Tree]
3 Same Tree.java Easy Java [DFS, Tree]
4 Convert Sorted Array to Binary Search Tree.java Easy Java [DFS, Tree]
5 Binary Tree Maximum Path Sum.java Review Java [DFS, Tree]
6 Construct Binary Tree from Inorder and Preorder Traversal.java Medium Java [Array, DFS, Tree]
7 Path Sum.java Easy Java [DFS, Tree]
8 Balanced Binary Tree.java Medium Java [DFS, Tree]
9 Populating Next Right Pointers in Each Node.java Medium Java [DFS, Tree]
10 Validate Binary Search Tree.java Medium Java [BST, DFS, Tree]
11 Max Tree.java Medium Java [Stack, Tree]
12 Binary Tree Inorder Traversal.java Easy Java [Hash Table, Stack, Tree]
13 Path Sum II.java Easy Java [DFS, Tree]
14 Binary Tree Postorder Traversal.java Medium Java [Stack, Tree, Two Stacks]
15 Closest Binary Search Tree Value.java Easy Java [BST, Binary Search, Tree]
16 Count Complete Tree Nodes.java Medium Java [Binary Search, Tree]
17 Binary Tree Preorder Traversal.java Easy Java [BFS, DFS, Stack, Tree]
18 Complete Binary Tree.java Easy Java [BFS, DFS, Tree]
19 House Robber III.java Medium Java [DFS, DP, Status DP, Tree]

Trie (7)

Squence Problem Level Language Tags Video Tutorial
0 Maximum XOR of Two Numbers in an Array.java Medium Java [Bit Manipulation, Trie]
1 Implement Trie.java Medium Java [Design, Trie]
2 Add and Search Word.java Medium Java [Backtracking, Design, Trie]
3 Word Search II.java Hard Java [Backtracking, DFS, Trie]
4 Word Squares.java Hard Java [Backtracking, Trie]
5 Palindrome Pairs.java Hard Java [Hash Table, String, Trie]
6 K Edit Distance.java Hard Java [DP, Double Sequence DP, Trie]

BST (16)

Squence Problem Level Language Tags Video Tutorial
0 Convert Binary Search Tree to Doubly Linked List.java Medium Java [BST]
1 Inorder Successor in Binary Search Tree.java Medium Java [BST]
2 Insert Node in a Binary Search Tree .java Easy Java [BST]
3 Kth Smallest Element in a BST.java Medium Java [BST]
4 Minimum Absolute Difference in BST.java Easy Java [BST]
5 Peeking Iterator.java Medium Java [BST]
6 Remove Node in Binary Search Tree.java Hard Java [BST]
7 Search Range in Binary Search Tree .java Medium Java [BST]
8 Unique Binary Search Tree II.java Medium Java [BST]
9 Zigzag Iterator.java Medium Java [BST]
10 Unique Binary Search Tree.java Medium Java [BST, DP, Tree]
11 Trim a Binary Search Tree.java Easy Java [BST, Tree]
12 Binary Search Tree Iterator.java Medium Java [BST, Design, Stack, Tree]
13 Validate Binary Search Tree.java Medium Java [BST, DFS, Tree]
14 Closest Binary Search Tree Value.java Easy Java [BST, Binary Search, Tree]
15 Contains Duplicate III.java Medium Java [BST]

Permutation (1)

Squence Problem Level Language Tags Video Tutorial
0 Shuffle an Array.java Medium Java [Permutation]

Partition DP (4)

Squence Problem Level Language Tags Video Tutorial
0 Perfect Squares.java Medium Java [BFS, DP, Math, Partition DP]
1 Copy Books.java Hard Java [Binary Search, DP, Partition DP]
2 Decode Ways.java Medium Java [DP, Partition DP, String]
3 Palindrome Partitioning II.java Hard Java [DP, Partition DP]

Heap (6)

Squence Problem Level Language Tags Video Tutorial
0 Kth Smallest Number in Sorted Matrix.java Medium Java [Binary Search, Heap]
1 Trapping Rain Water II.java Hard Java [BFS, Heap]
2 Data Stream Median.java Hard Java [Design, Heap]
3 Sliding Window Median.java Hard Java [Design, Heap]
4 Meeting Rooms II.java Medium Java [Greedy, Heap, Sort, Sweep Line]
5 Building Outline.java Review Java [Binary Indexed Tree, Divide and Conquer, Heap, Segment Tree, Sweep Line]

Interval DP (1)

Squence Problem Level Language Tags Video Tutorial
0 Coins in a Line III.java Hard Java [Array, DP, Game Theory, Interval DP, Memoization]

Stack (12)

Squence Problem Level Language Tags Video Tutorial
0 Binary Search Tree Iterator.java Medium Java [BST, Design, Stack, Tree]
1 Flatten Nested List Iterator.java Medium Java [Design, Stack]
2 Trapping Rain Water.java Hard Java [Array, Stack, Two Pointers]
3 Min Stack.java Easy Java [Design, Stack]
4 Implement Queue using Stacks.java Easy Java [Design, Stack]
5 Expression Expand.java Medium Java [DFS, Divide and Conquer, Stack]
6 Largest Rectangle in Histogram.java Hard Java [Array, Monotonous Stack, Stack]
7 Max Tree.java Medium Java [Stack, Tree]
8 Maximal Rectangle.java Hard Java [Array, DP, Hash Table, Stack]
9 Binary Tree Inorder Traversal.java Easy Java [Hash Table, Stack, Tree]
10 Binary Tree Postorder Traversal.java Medium Java [Stack, Tree, Two Stacks]
11 Binary Tree Preorder Traversal.java Easy Java [BFS, DFS, Stack, Tree]

Linked List (8)

Squence Problem Level Language Tags Video Tutorial
0 Add Two Numbers.java Medium Java [Linked List, Math]
1 Add Two Numbers II.java Medium Java [Linked List]
2 Convert Sorted List to Binary Search Tree.java Medium Java [DFS, Linked List]
3 Linked List Cycle.java Easy Java [Linked List, Two Pointers]
4 Remove Nth Node From End of List.java Medium Java [Linked List, Two Pointers]
5 Linked List Cycle II.java Medium Java [Linked List, Two Pointers]
6 Swap Nodes in Pairs.java Medium Java [Linked List]
7 Delete Node in a Linked List.java Easy Java [Linked List]

Binary Indexed Tree (1)

Squence Problem Level Language Tags Video Tutorial
0 Building Outline.java Review Java [Binary Indexed Tree, Divide and Conquer, Heap, Segment Tree, Sweep Line]

Graph (5)

Squence Problem Level Language Tags Video Tutorial
0 Clone Graph.java Medium Java [BFS, DFS, Graph]
1 Graph Valid Tree.java Medium Java [BFS, DFS, Graph, Union Find]
2 Course Schedule.java Medium Java [BFS, DFS, Graph, Topological Sort]
3 Course Schedule II.java Medium Java [BFS, DFS, Graph, Topological Sort]
4 Alien Dictionary.java Hard Java [BFS, Backtracking, DFS, Graph, Topological Sort]

Brainteaser (1)

Squence Problem Level Language Tags Video Tutorial
0 Nim Game.java Easy Java [Brainteaser, DP, Game Theory]

Union Find (7)

Squence Problem Level Language Tags Video Tutorial
0 Connecting Graph.java Medium Java [Union Find]
1 Connecting Graph II.java Medium Java [Union Find]
2 Connecting Graph III.java Medium Java [Union Find]
3 Number of Islands.java Medium Java [BFS, DFS, Union Find]
4 Number of Islands II.java Hard Java [Union Find]
5 Graph Valid Tree.java Medium Java [BFS, DFS, Graph, Union Find]
6 Surrounded Regions.java Review Java [BFS, DFS, Union Find]

Sweep Line (4)

Squence Problem Level Language Tags Video Tutorial
0 Meeting Rooms.java Easy Java [Sort, Sweep Line]
1 Number of Airplane in the sky.java Medium Java [Array, Interval, Sort, Sweep Line]
2 Meeting Rooms II.java Medium Java [Greedy, Heap, Sort, Sweep Line]
3 Building Outline.java Review Java [Binary Indexed Tree, Divide and Conquer, Heap, Segment Tree, Sweep Line]

Interval (1)

Squence Problem Level Language Tags Video Tutorial
0 Number of Airplane in the sky.java Medium Java [Array, Interval, Sort, Sweep Line]

Sequence DP (12)

Squence Problem Level Language Tags Video Tutorial
0 Coin Change.java Medium Java [DP, Memoization, Sequence DP]
1 Longest Increasing Subsequence.java Medium Java [Binary Search, Coordinate DP, DP, Memoization, Sequence DP]
2 Climbing Stairs.java Easy Java [DP, Memoization, Sequence DP]
3 Coin Change 2.java Medium Java [DP, Sequence DP]
4 Paint House.java Easy Java [DP, Sequence DP]
5 House Robber.java Easy Java [DP, Sequence DP]
6 House Robber II.java Medium Java [DP, Sequence DP]
7 Paint House II.java Hard Java [DP, Sequence DP]
8 Best Time to Buy and Sell Stock I.java Easy Java [Array, DP, Sequence DP]
9 Best Time to Buy and Sell Stock II.java Easy Java [Array, DP, Greedy, Sequence DP]
10 Best Time to Buy and Sell Stock III .java Hard Java [Array, DP, Sequence DP]
11 Best Time to Buy and Sell Stock IV.java Hard Java [DP, Sequence DP]

Bitwise DP (1)

Squence Problem Level Language Tags Video Tutorial
0 Counting Bits.java Medium Java [Bit Manipulation, Bitwise DP, DP]

MiniMax (1)

Squence Problem Level Language Tags Video Tutorial
0 Coins in a Line II.java Medium Java [Array, DP, Game Theory, Memoization, MiniMax]

Two Pointers (15)

Squence Problem Level Language Tags Video Tutorial
0 Reverse Vowels of a String.java Easy Java [String, Two Pointers]
1 2 Sum II - Input array is sorted.java Medium Java [Array, Binary Search, Two Pointers]
2 2 Sum II.java Medium Java [Array, Binary Search, Two Pointers]
3 3 Sum Closest.java Medium Java [Array, Two Pointers]
4 3 Sum.java Medium Java [Array, Two Pointers]
5 3 Sum Smaller.java Medium Java [Array, Two Pointers]
6 Intersection of Two Arrays II.java Easy Java [Binary Search, Hash Table, Sort, Two Pointers]
7 Minimum Size Subarray Sum.java Medium Java [Array, Binary Search, Two Pointers]
8 Longest Substring Without Repeating Characters.java Medium Java [Hash Table, String, Two Pointers]
9 Minimum Window Substring.java Hard Java [Hash Table, String, Two Pointers]
10 Linked List Cycle.java Easy Java [Linked List, Two Pointers]
11 Remove Nth Node From End of List.java Medium Java [Linked List, Two Pointers]
12 Linked List Cycle II.java Medium Java [Linked List, Two Pointers]
13 Trapping Rain Water.java Hard Java [Array, Stack, Two Pointers]
14 Find the Duplicate Number.java Medium Java [Array, Binary Search, Two Pointers]

Basic Implementation (2)

Squence Problem Level Language Tags Video Tutorial
0 Cosine Similarity.java Easy Java [Basic Implementation]
1 Count and Say.java Easy Java [Basic Implementation, String]

Backpack DP (3)

Squence Problem Level Language Tags Video Tutorial
0 Backpack.java Medium Java [Backpack DP, DP]
1 Backpack II.java Medium Java [Backpack DP, DP]
2 Backpack V.java Medium Java [Backpack DP, DP]

Bit Manipulation (9)

Squence Problem Level Language Tags Video Tutorial
0 Power of Two.java Easy Java [Bit Manipulation, Math]
1 Sum of Two Integers.java Easy Java [Bit Manipulation]
2 Swap Bits.java Easy Java [Bit Manipulation]
3 Update Bits.java Medium Java [Bit Manipulation]
4 Maximum XOR of Two Numbers in an Array.java Medium Java [Bit Manipulation, Trie]
5 Majority Element.java Easy Java [Array, Bit Manipulation, Divide and Conquer]
6 Convert Integer A to Integer B.java Easy Java [Bit Manipulation]
7 Count 1 in Binary.java Easy Java [Bit Manipulation]
8 Counting Bits.java Medium Java [Bit Manipulation, Bitwise DP, DP]

Divide and Conquer (5)

Squence Problem Level Language Tags Video Tutorial
0 Majority Element.java Easy Java [Array, Bit Manipulation, Divide and Conquer]
1 Expression Expand.java Medium Java [DFS, Divide and Conquer, Stack]
2 Find Peak Element II.java Hard Java [Binary Search, DFS, Divide and Conquer]
3 Building Outline.java Review Java [Binary Indexed Tree, Divide and Conquer, Heap, Segment Tree, Sweep Line]
4 Burst Balloons.java Hard Java [DP, Divide and Conquer, Memoization, Range DP]

Status DP (1)

Squence Problem Level Language Tags Video Tutorial
0 House Robber III.java Medium Java [DFS, DP, Status DP, Tree]

Topological Sort (4)

Squence Problem Level Language Tags Video Tutorial
0 Longest Increasing Path in a Matrix.java Hard Java [DFS, DP, Memoization, Topological Sort]
1 Course Schedule.java Medium Java [BFS, DFS, Graph, Topological Sort]
2 Course Schedule II.java Medium Java [BFS, DFS, Graph, Topological Sort]
3 Alien Dictionary.java Hard Java [BFS, Backtracking, DFS, Graph, Topological Sort]

Greedy (7)

Squence Problem Level Language Tags Video Tutorial
0 Queue Reconstruction by Height.java Medium Java [Greedy]
1 Wildcard Matching.java Hard Java [Backtracking, DP, Greedy, String]
2 Meeting Rooms II.java Medium Java [Greedy, Heap, Sort, Sweep Line]
3 Coins in a Line.java Medium Java [DP, Game Theory, Greedy]
4 Jump Game.java Medium Java [Array, DP, Greedy]
5 Best Time to Buy and Sell Stock II.java Easy Java [Array, DP, Greedy, Sequence DP]
6 Jump Game II.java Hard Java [Array, Coordinate DP, DP, Greedy]

Hash Map (1)

Squence Problem Level Language Tags Video Tutorial
0 Group Anagrams.java Medium Java [Hash Map, String]

Coordinate DP (10)

Squence Problem Level Language Tags Video Tutorial
0 Longest Increasing Subsequence.java Medium Java [Binary Search, Coordinate DP, DP, Memoization, Sequence DP]
1 Unique Paths II.java Medium Java [Array, Coordinate DP, DP]
2 Bomb Enemy.java Medium Java [Coordinate DP, DP]
3 Unique Path.java Medium Java [Array, Coordinate DP, DP]
4 Maximal Square.java Medium Java [Coordinate DP, DP]
5 Longest Continuous Increasing Subsequence.java Easy Java [Array, Coordinate DP, DP]
6 Minimum Path Sum.java Medium Java [Array, Coordinate DP, DP]
7 Continuous Subarray Sum.java Medium Java [Coordinate DP, DP, Math]
8 Russian Doll Envelopes.java Hard Java [Binary Search, Coordinate DP, DP]
9 Jump Game II.java Hard Java [Array, Coordinate DP, DP, Greedy]

Monotonous Stack (1)

Squence Problem Level Language Tags Video Tutorial
0 Largest Rectangle in Histogram.java Hard Java [Array, Monotonous Stack, Stack]

Binary Tree (2)

Squence Problem Level Language Tags Video Tutorial
0 Flatten Binary Tree to Linked List.java Medium Java [Binary Tree, DFS]
1 Binary Tree Paths.java Easy Java [Binary Tree, DFS]

Binary Search (24)

Squence Problem Level Language Tags Video Tutorial
0 Guess Number Higher or Lower.java Easy Java [Binary Search]
1 2 Sum II - Input array is sorted.java Medium Java [Array, Binary Search, Two Pointers]
2 2 Sum II.java Medium Java [Array, Binary Search, Two Pointers]
3 Longest Increasing Subsequence.java Medium Java [Binary Search, Coordinate DP, DP, Memoization, Sequence DP]
4 Copy Books.java Hard Java [Binary Search, DP, Partition DP]
5 Valid Perfect Square.java Review Java [Binary Search, Math]
6 Intersection of Two Arrays II.java Easy Java [Binary Search, Hash Table, Sort, Two Pointers]
7 Find Peak Element.java Medium Java [Array, Binary Search]
8 Pow(x,n).java Medium Java [Binary Search, Math]
9 Minimum Size Subarray Sum.java Medium Java [Array, Binary Search, Two Pointers]
10 Kth Smallest Number in Sorted Matrix.java Medium Java [Binary Search, Heap]
11 Find Minimum in Rotated Sorted Array.java Medium Java [Array, Binary Search]
12 Find Minimum in Rotated Sorted Array II.java Hard Java [Array, Binary Search]
13 Find Peak Element II.java Hard Java [Binary Search, DFS, Divide and Conquer]
14 Sqrt(x).java Easy Java [Binary Search, Math]
15 First Bad Version.java Easy Java [Binary Search]
16 Wood Cut.java Medium Java [Binary Search]
17 Find the Duplicate Number.java Medium Java [Array, Binary Search, Two Pointers]
18 Maximum Average Subarray II.java Review Java [Array, Binary Search]
19 Classical Binary Search.java Easy Java [Binary Search]
20 Closest Binary Search Tree Value.java Easy Java [BST, Binary Search, Tree]
21 Count Complete Tree Nodes.java Medium Java [Binary Search, Tree]
22 Closest Number in Sorted Array.java Easy Java [Binary Search]
23 Russian Doll Envelopes.java Hard Java [Binary Search, Coordinate DP, DP]

Array (45)

Squence Problem Level Language Tags Video Tutorial
0 Plus One.java Easy Java [Array, Math]
1 Wiggle Sort.java Medium Java [Array, Sort]
2 2 Sum.java Easy Java [Array, Hash Table]
3 2 Sum II - Input array is sorted.java Medium Java [Array, Binary Search, Two Pointers]
4 2 Sum II.java Medium Java [Array, Binary Search, Two Pointers]
5 Maximum Product Subarray.java Medium Java [Array, DP]
6 3 Sum Closest.java Medium Java [Array, Two Pointers]
7 Triangle Count.java Medium Java [Array]
8 3 Sum.java Medium Java [Array, Two Pointers]
9 Unique Paths II.java Medium Java [Array, Coordinate DP, DP]
10 3 Sum Smaller.java Medium Java [Array, Two Pointers]
11 Array Partition I.java Easy Java [Array]
12 1-bit and 2-bit Characters.java Easy Java [Array]
13 Non-decreasing Array.java Easy Java [Array]
14 Max Consecutive Ones.java Easy Java [Array]
15 Find All Numbers Disappeared in an Array.java Easy Java [Array]
16 Maximum Average Subarray I.java Easy Java [Array]
17 Largest Number At Least Twice of Others.java Easy Java [Array]
18 Toeplitz Matrix.java Easy Java [Array]
19 Find Peak Element.java Medium Java [Array, Binary Search]
20 Majority Element.java Easy Java [Array, Bit Manipulation, Divide and Conquer]
21 Construct Binary Tree from Inorder and Preorder Traversal.java Medium Java [Array, DFS, Tree]
22 Minimum Size Subarray Sum.java Medium Java [Array, Binary Search, Two Pointers]
23 Find Minimum in Rotated Sorted Array.java Medium Java [Array, Binary Search]
24 Find Minimum in Rotated Sorted Array II.java Hard Java [Array, Binary Search]
25 Word Search.java Medium Java [Array, Backtracking]
26 Trapping Rain Water.java Hard Java [Array, Stack, Two Pointers]
27 Largest Rectangle in Histogram.java Hard Java [Array, Monotonous Stack, Stack]
28 Find the Duplicate Number.java Medium Java [Array, Binary Search, Two Pointers]
29 Game of Life.java Medium Java [Array]
30 Maximum Average Subarray II.java Review Java [Array, Binary Search]
31 Number of Airplane in the sky.java Medium Java [Array, Interval, Sort, Sweep Line]
32 Unique Path.java Medium Java [Array, Coordinate DP, DP]
33 Maximal Rectangle.java Hard Java [Array, DP, Hash Table, Stack]
34 Coins in a Line II.java Medium Java [Array, DP, Game Theory, Memoization, MiniMax]
35 Coins in a Line III.java Hard Java [Array, DP, Game Theory, Interval DP, Memoization]
36 Contains Duplicate.java Easy Java [Array, Hash Table]
37 Contains Duplicate II.java Easy Java [Array, Hash Table]
38 Jump Game.java Medium Java [Array, DP, Greedy]
39 Longest Continuous Increasing Subsequence.java Easy Java [Array, Coordinate DP, DP]
40 Minimum Path Sum.java Medium Java [Array, Coordinate DP, DP]
41 Best Time to Buy and Sell Stock I.java Easy Java [Array, DP, Sequence DP]
42 Best Time to Buy and Sell Stock II.java Easy Java [Array, DP, Greedy, Sequence DP]
43 Best Time to Buy and Sell Stock III .java Hard Java [Array, DP, Sequence DP]
44 Jump Game II.java Hard Java [Array, Coordinate DP, DP, Greedy]

Memoization (7)

Squence Problem Level Language Tags Video Tutorial
0 Coin Change.java Medium Java [DP, Memoization, Sequence DP]
1 Longest Increasing Subsequence.java Medium Java [Binary Search, Coordinate DP, DP, Memoization, Sequence DP]
2 Longest Increasing Path in a Matrix.java Hard Java [DFS, DP, Memoization, Topological Sort]
3 Coins in a Line II.java Medium Java [Array, DP, Game Theory, Memoization, MiniMax]
4 Climbing Stairs.java Easy Java [DP, Memoization, Sequence DP]
5 Coins in a Line III.java Hard Java [Array, DP, Game Theory, Interval DP, Memoization]
6 Burst Balloons.java Hard Java [DP, Divide and Conquer, Memoization, Range DP]

Two Stacks (1)

Squence Problem Level Language Tags Video Tutorial
0 Binary Tree Postorder Traversal.java Medium Java [Stack, Tree, Two Stacks]

backtracking (1)

Squence Problem Level Language Tags Video Tutorial
0 Flip Game II.java Review Java [DFS, backtracking]

Two Pointer (1)

Squence Problem Level Language Tags Video Tutorial
0 Permutation in String.java Medium Java [Two Pointer]