Skip to content

Latest commit

 

History

History
443 lines (361 loc) · 46.1 KB

File metadata and controls

443 lines (361 loc) · 46.1 KB

Problems Sorted By Tag

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

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]

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

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

BFS (6)

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]

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

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

Hash Table (13)

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 Maximal Square.java Hard Java [Array, DP, Hash Table, Stack]
12 Palindrome Pairs.java Hard Java [Hash Table, String, Trie]

Backtracking (8)

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]

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 Burst Balloons.java Hard Java [DP, Divide and Conquer]
1 Majority Element.java Easy Java [Array, Bit Manipulation, Divide and Conquer]
2 Expression Expand.java Medium Java [DFS, Divide and Conquer, Stack]
3 Find Peak Element II.java Hard Java [Binary Search, DFS, Divide and Conquer]
4 Building Outline.java Review Java [Binary Indexed Tree, Divide and Conquer, Heap, Segment Tree, Sweep Line]

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

Squence Problem Level Language Tags Video Tutorial
0 Unique Binary Search Tree.java Medium Java [DP, Tree]
1 Trim a Binary Search Tree.java Easy Java [Tree]
2 Binary Search Tree Iterator.java Medium Java [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 [DFS, Tree]
11 Max Tree.java Medium Java [Stack, 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 Coins in a Line.java Medium Java [DP, Greedy]
4 Wildcard Matching.java Hard Java [Backtracking, DP, Greedy, String]
5 Meeting Rooms II.java Medium Java [Greedy, Heap, Sort, Sweep Line]

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]

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

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

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]

Stack (9)

Squence Problem Level Language Tags Video Tutorial
0 Binary Search Tree Iterator.java Medium Java [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, Stack]
7 Maximal Square.java Hard Java [Array, DP, Hash Table, Stack]
8 Max Tree.java Medium Java [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 (40)

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

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

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]

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]