algorithm_practice
Introduction
1.
Leetcode
1.1.
Binary Search
1.1.1.
Median of Two Sorted Arrays
1.1.2.
Search a 2D Matrix
1.1.3.
Search a 2D Matrix II
1.1.4.
Search for a Range
1.1.5.
Minimum Size Subarray Sum
1.1.6.
Search in Rotated Sorted Array
1.1.7.
Search in Rotated Sorted Array II
1.1.8.
Find Minimum in Rotated Sorted Array
1.1.9.
Find Minimum in Rotated Sorted Array II
1.1.10.
Search insert position
1.1.11.
First Bad Version
1.1.12.
Find Peak Element
1.2.
Sorted array
1.2.1.
Spiral Matrix
1.2.2.
Spiral Matrix II
1.2.3.
Rotate Image
1.2.4.
First Missing Positive
1.2.5.
Largest Rectangle in Histogram
1.2.6.
Longest Consecutive Sequence
1.2.7.
Majority Element II
1.2.8.
Merge Sorted Array
1.3.
Back Tracking
1.3.1.
Palindrome Partitioning
1.3.2.
Path Sum II
1.3.3.
Subsets II
1.3.4.
Permutations
1.3.5.
Permutations II
1.3.6.
Next Permutation
1.3.7.
Restore IP Addresses
1.3.8.
Sudoku Solver
1.3.9.
N-Queens
1.3.10.
N-Queens II
1.3.11.
Expression Add Operators
1.3.12.
Word Break II
1.4.
Dynamic Programming
1.4.1.
House Robber II
1.4.2.
Range Sum Query - Immutable
1.4.3.
Unique Path
1.4.4.
Unique Paths II
1.4.5.
Triangle
1.4.6.
Longest increasing subsequences
1.4.7.
Decode Ways
1.4.8.
Word Break
1.4.9.
Maximal Square
1.4.10.
Range Sum Query 2D - Immutable
1.4.11.
Edit Distance
1.4.12.
Maximal Rectangle
1.4.13.
Scramble String
1.4.14.
Interleaving String
1.4.15.
Distinct Subsequences
1.4.16.
Best Time to Buy and Sell Stock
1.4.17.
Best Time to Buy and Sell Stock III
1.4.18.
Best Time to Buy and Sell Stock IV
1.4.19.
Best Time to Buy and Sell Stock with Cooldown
1.4.20.
Palindrome Partitioning II
1.4.21.
Dungeon Game
1.4.22.
Burst Balloons
1.4.23.
Coin Change
1.4.24.
Minimum Path Sum
1.4.25.
Climbing Stairs
1.4.26.
Maximum Subarray
1.5.
Linked List
1.5.1.
Insertion Sort List
1.5.2.
Reverse Linked List II
1.5.3.
Remove Duplicates from Sorted List II
1.5.4.
Rotate List
1.5.5.
Reorder List
1.5.6.
Sort List
1.5.7.
Reverse Nodes in k-Group
1.5.8.
Odd Even Linked List
1.6.
Math
1.6.1.
Ugly Number
1.6.2.
Ugly Number II
1.6.3.
Super Ugly Number
1.6.4.
Bitwise AND of Numbers Range
1.6.5.
H-Index
1.6.6.
H-Index II
1.6.7.
Pow(x, n)
1.6.8.
Sqrt(x)
1.6.9.
Divide Two Integers
1.6.10.
Permutation Sequence
1.6.11.
Fraction to Recurring Decimal
1.6.12.
Basic Calculator
1.6.13.
Basic Calculator II
1.6.14.
Integer to English Words
1.6.15.
Max Points on a Line
1.6.16.
Bulb Switcher
1.6.17.
Rectangle Area
1.7.
Binary Tree
1.7.1.
Maximum Depth of Binary Tree
1.7.2.
Binary Tree Preorder Traversal
1.7.3.
Binary Tree Inorder Traversal
1.7.4.
Binary Tree Postorder Traversal
1.7.5.
Convert Sorted List to Binary Search Tree
1.7.6.
Construct Binary Tree from Inorder and Postorder Traversal
1.7.7.
Construct Binary Tree from Preorder and Inorder Traversal
1.7.8.
Binary Tree Zigzag Level Order Traversal
1.7.9.
Lowest Common Ancestor of a Binary Search Tree
1.7.10.
Lowest Common Ancestor of a Binary Tree
1.7.11.
Count Complete Tree Nodes
1.7.12.
Serialize and Deserialize Binary Tree
1.7.13.
Recover Binary Search Tree
1.7.14.
Populating Next Right Pointers in Each Node II
1.7.15.
Binary Tree Maximum Path Sum
1.7.16.
Balanced Binary Tree
1.7.17.
Invert Binary Tree
1.7.18.
Same Tree
1.8.
Two Pointers
1.8.1.
Remove Duplicates from Sorted Array II
1.8.2.
2Sum
1.8.3.
3Sum
1.8.4.
3Sum Closest
1.8.5.
4Sum
1.8.6.
Trapping Rain Water
1.8.7.
Minimum Window Substring
1.8.8.
Find the Duplicate Number
1.9.
String
1.9.1.
Group Anagrams
1.9.2.
Longest Palindromic Substring
1.9.3.
Multiply Strings
1.9.4.
Simplify Path
1.9.5.
Additive Number
1.9.6.
Regular Expression Matching
1.9.7.
Wildcard Matching
1.9.8.
Substring with Concatenation of All Words
1.9.9.
Longest Valid Parentheses
1.9.10.
Text Justification
1.9.11.
Shortest Palindrome
1.10.
Greedy
1.10.1.
Jump Game
1.10.2.
Jump Game II
1.10.3.
Gas Station
1.10.4.
Best Time to Buy and Sell Stock II
1.10.5.
Candy
1.10.6.
Remove Duplicate Letters
1.10.7.
Create Maximum Number
1.11.
Design
1.11.1.
Implement Trie (Prefix Tree)
1.11.2.
LRU Cache
1.11.3.
Find Median from Data Stream
1.11.4.
Add and Search Word - Data structure design
1.12.
BFS
1.12.1.
Letter Combinations of a Phone Number
1.12.2.
Word Ladder
1.12.3.
Word Ladder II
1.12.4.
Surrounded Regions
1.12.5.
Remove Invalid Parentheses
1.12.6.
Minimum Height Trees
1.13.
DFS
1.13.1.
Word Search
1.13.2.
Number of Islands
1.14.
Graph
1.14.1.
Clone Graph
1.14.2.
Course Schedule
1.14.3.
Course schedule II
1.15.
Others
1.15.1.
Evaluate Reverse Polish Notation
1.15.2.
Largest Number
1.15.3.
Range Sum Query - Mutable
1.15.4.
The Skyline Problem
1.15.5.
Sliding Window Maximum
1.16.
Bit
1.16.1.
Repeated DNA Sequences
1.16.2.
Maximum Product of Word Lengths
1.17.
BST
1.17.1.
Contains Duplicate III
1.17.2.
Count of Range Sum
1.17.3.
Validate Binary Search Tree
1.18.
Sort
1.18.1.
Merge Intervals
1.18.2.
Insert Interval
1.18.3.
Maximum Gap
1.18.4.
Wiggle Sort II
2.
Basics
2.1.
Inheritance and Polymorphisan
2.2.
Tree traversals
2.3.
Bitwise operation
2.4.
Map
2.5.
Sorting
2.5.1.
Merge sort
2.6.
Graph
2.7.
Others
2.8.
stack, queue, deque
3.
JiuZhang
3.1.
Course 2: binary search and sorted array
3.2.
Course 3: Binary Tree, Divide and Conquer, DFS, BFS
3.3.
Course 4: Dynamic Programming
3.4.
Course 5: Linked List
3.5.
Course 6: Graph and Search
3.6.
Course 8: Data Structure
3.7.
Course 9: High Frequency
4.
Interview
4.1.
Amazon OA1 coding
4.1.1.
Rectangle overlap
4.1.2.
K points
4.2.
Amazon debug
4.3.
Amazon reasoning
4.4.
Amazon OA2
4.5.
Amazon coding
4.5.1.
isSubTree
4.5.2.
Round Robin
4.5.3.
Shorest Job First
4.5.4.
Max Min Path
4.6.
C++
4.7.
Airline project
4.8.
ML project
4.9.
Questions
4.10.
s
Powered by
GitBook
algorithm_practice
Design
Implement a trie with insert, search, and startsWith methods.