• 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