Skip to content

Latest commit

 

History

History
776 lines (531 loc) · 64.7 KB

TagREADME.md

File metadata and controls

776 lines (531 loc) · 64.7 KB

Table of Contents

Sequence DP (4)

Squence Problem Level Language Tags Video Tutorial
0 Longest Increasing Subsequence.java Medium Java [Binary Search, DP, Memoization, Sequence DP]
1 House Robber.java Easy Java [DP, Sequence DP]
2 House Robber II.java Medium Java [DP, Sequence DP]
3 Climbing Stairs.java Easy Java [DP, Memoization, Sequence DP]

Range DP (1)

Squence Problem Level Language Tags Video Tutorial
0 Burst Balloons.java Hard Java [DP, Divide and Conquer, Memoization, Range 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]

String (19)

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 Decode Ways.java Review Java [DP, String]
4 Scramble String.java Hard Java [DP, String]
5 Interleaving String.java Hard Java [DP, String]
6 Letter Combinations of a Phone Number.java Medium Java [Backtracking, String]
7 Edit Distance.java Hard Java [DP, String]
8 Distinct Subsequences.java Hard Java [DP, String]
9 Regular Expression Matching.java Review Java [Backtracking, DP, String]
10 Wildcard Matching.java Hard Java [Backtracking, DP, Greedy, String]
11 Add Binary.java Easy Java [Math, String]
12 Longest Substring Without Repeating Characters.java Medium Java [Hash Table, String, Two Pointers]
13 Minimum Window Substring.java Hard Java [Hash Table, String, Two Pointers]
14 Longest Substring with At Most K Distinct Characters.java Medium Java [Hash Table, String]
15 Palindrome Pairs.java Hard Java [Hash Table, String, Trie]
16 Change to Anagram.java Easy Java [String]
17 Compare Version Numbers.java Medium Java [String]
18 Compare Strings.java Easy Java [String]

Math (12)

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]
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]

DP (48)

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

BFS (11)

Squence Problem Level Language Tags Video Tutorial
0 Perfect Squares.java Medium Java [BFS, DP, Math]
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 (27)

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 House Robber III.java Hard Java [DFS, DP, Status DP, Tree]
20 Longest Increasing Path in a Matrix.java Hard Java [DFS, DP, Memoization, Topological Sort]
21 Path Sum II.java Easy Java [DFS, Tree]
22 Course Schedule.java Medium Java [BFS, DFS, Graph, Topological Sort]
23 Course Schedule II.java Medium Java [BFS, DFS, Graph, Topological Sort]
24 Alien Dictionary.java Hard Java [BFS, Backtracking, DFS, Graph, Topological Sort]
25 Binary Tree Preorder Traversal.java Easy Java [BFS, DFS, Stack, Tree]
26 Complete Binary Tree.java Easy Java [BFS, DFS, Tree]

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 (16)

Squence Problem Level Language Tags Video Tutorial
0 Find Anagram Mappings.java Easy Java [Hash Table]
1 Island Perimeter.java Easy Java [Hash Table]
2 First Unique Character in a String.java Easy Java [Hash Table, String]
3 Encode and Decode TinyURL.java Medium Java [Hash Table, Math]
4 2 Sum.java Easy Java [Array, Hash Table]
5 4 Sum.java Medium Java [Hash Table]
6 Intersection of Two Arrays II.java Easy Java [Binary Search, Hash Table, Sort, Two Pointers]
7 Valid Anagram.java Easy Java [Hash Table, Sort]
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 Longest Substring with At Most K Distinct Characters.java Medium Java [Hash Table, String]
11 Palindrome Pairs.java Hard Java [Hash Table, String, Trie]
12 Maximal Rectangle.java Hard Java [Array, DP, Hash Table, Stack]
13 Binary Tree Inorder Traversal.java Easy Java [Hash Table, Stack, Tree]
14 Contains Duplicate.java Easy Java [Array, Hash Table]
15 Contains Duplicate II.java Easy Java [Array, Hash Table]

Backtracking (9)

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]

Bit Manipulation (7)

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

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 Hard 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]

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 House Robber III.java Hard Java [DFS, DP, Status DP, Tree]
13 Binary Tree Inorder Traversal.java Easy Java [Hash Table, Stack, Tree]
14 Path Sum II.java Easy Java [DFS, Tree]
15 Binary Tree Postorder Traversal.java Medium Java [Stack, Tree, Two Stacks]
16 Closest Binary Search Tree Value.java Easy Java [BST, Binary Search, Tree]
17 Count Complete Tree Nodes.java Medium Java [Binary Search, Tree]
18 Binary Tree Preorder Traversal.java Easy Java [BFS, DFS, Stack, Tree]
19 Complete Binary Tree.java Easy Java [BFS, DFS, Tree]

Greedy (6)

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

Trie (6)

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]

Monotonous Stack (1)

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

Coordinate DP (3)

Squence Problem Level Language Tags Video Tutorial
0 Unique Path.java Medium Java [Array, Coordinate DP, DP]
1 Maximal Square.java Medium Java [Coordinate DP, DP]
2 Minimum Path Sum.java Medium Java [Array, Coordinate DP, DP]

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]

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 (23)

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, DP, Memoization, Sequence DP]
4 Copy Books.java Hard Java [Binary Search, 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]

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 (7)

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]

Array (44)

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

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]

Memoization (6)

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

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]

Two Stacks (1)

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

Interval (1)

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