Willguo Algo
CtrlK
  • Introduction
  • Algorithms
    • Graph
      • 关于最短路径算法的一些想法
      • Floyd Algorithm
      • Dijkstra Algorithm (BFS-2)
      • Union Find (Disjoint Sets) Algorithm
      • Clone Graph
      • Friend Circles
      • Graph Valid Tree
      • Topological Sorting
      • Course Schedule
      • Course Schedule II
      • 2050. Parallel Courses III
      • Sequence Reconstruction
      • Number of Islands
      • Number of Islands II (Hard Google)
      • Number of Distinct Islands (Medium Amazon)
      • Number of Distinct Islands II (Hard Amazon)
      • Zombie in Matrix
      • Knight Shortest Path
      • Build Post Office II
      • Connected Component in Undirected Graph
      • Word Ladder
      • Word Ladder II
      • Evaluate Division
      • The Maze
      • The Maze II
      • The Maze III
      • Remove Substrings
      • Is Graph Bipartite? (Medium)
      • Flood Fill (Easy Uber)
      • Alien Dictionary
      • Reconstruct Itinerary
      • All Paths From Source to Target
      • Regions Cut By Slashes
      • Unique Paths III
      • Critical Connections in a Network
      • Path With Minimum Effort
      • Min Cost to Connect All Points
      • Swim in Rising Water
    • Tree
      • Validate Binary Search Tree
      • Symmetric Tree
      • Two Sum IV - Input is a BST
      • Iteratively Traverse BSTs
      • Trim a Binary Search Tree
      • Convert Binary Tree to Linked Lists by Depth
      • Find Mode in Binary Search Tree
      • Binary Tree Paths
      • Subtree with Maximum Average
      • Flatten Binary Tree to Linked List
      • Lowest Common Ancestor of a Binary Search Tree
      • Lowest Common Ancestor II
      • Lowest Common Ancestor III
      • Path Sum III
      • Binary Tree Path Sum II
      • Path Sum IV
      • Binary Tree Maximum Path Sum
      • Binary Tree Path Sum III
      • Binary Tree Serialization
      • Verify Preorder Serialization of a Binary Tree
      • Unique Binary Search Trees
      • Unique Binary Search Trees II
      • Balanced Binary Tree
      • Binary Tree Longest Consecutive Sequence
      • Binary Tree Longest Consecutive Sequence II
      • Inorder Successor in Binary Search Tree
      • Equal Tree Partition
      • Construct Binary Tree from Preorder and Inorder Traversal
      • Convert Sorted List to Binary Search Tree
      • Binary Tree Vertical Order Traversal
      • Binary Tree Zigzag Level Order Traversal
      • Find Duplicate Subtrees
      • Count Complete Tree Nodes
      • Closest Binary Search Tree Value II
      • Delete Node in a BST
      • Count Univalue Subtrees
      • Recover Binary Search Tree
      • Populating Next Right Pointers in Each Node
      • Minimum Depth of Binary Tree
      • Invert Binary Tree (easy)
      • Tweaked Identical Binary Trees
      • Check If Binary Tree Is Completed
      • Convert BST to Greater Tree (Easy Amazon)
      • Subtree of Another Tree (Easy Facebook)
      • Second Minimum Node In a Binary Tree (Easy LinkedIn)
      • Longest Univalue Path (Easy Google)
      • Maximum Width of Binary Tree
      • Kth Smallest Element in a BST
      • Check Completeness of a Binary Tree
      • Flip Binary Tree To Match Preorder Traversal
      • Smallest String Starting From Leaf
      • Vertical Order Traversal of a Binary Tree
      • Distribute Coins in Binary Tree
      • Cousins in Binary Tree
      • Maximum Binary Tree II
    • LinkedList & Array
      • Sorting Algorithms
      • Maximum Size Subarray Sum Equals k
      • Intersection of Two Linked Lists
      • Maximum Distance in Arrays
      • Insert into a Cyclic Sorted List
      • Merge Two Sorted Lists
      • Subarray Sum
      • Maximum Score Of Spliced Array
      • Subarray Sum Equals K
      • Subarray Sum Closest
      • Copy List with Random Pointer
      • Reverse Linked List
      • Reverse Linked List II
      • Partition List
      • Sort List
      • Swap Nodes in Pairs (reverse Linked List in Pairs)
      • Reverse Nodes in k-Group
      • Add Two Numbers II
      • Remove Duplicates from Sorted Array
      • Remove Duplicates from Sorted Array II
      • Remove Duplicates from Sorted List II
      • Palindrome Linked List
      • Increasing Triplet Subsequence
      • Shortest Unsorted Continuous Subarray
      • Maximum Average Subarray
      • Linked List Cycle II
      • Rotate Array
      • Circular Array Loop
      • Insertion Sort List
      • Shortest Word Distance
      • Shortest Word Distance II
      • Reorder List
      • Permutation in String
      • Queue Reconstruction by Height (Medium)
      • Intersection of Two Arrays (easy)
      • Valid Word Square (easy)
      • Product of Array Except Self (Medium)
      • ReOrder Array
      • 95 Percentile
      • Roman to Integer
      • Remove Duplicates from Sorted List
      • Merge Sorted Array
      • Find All Numbers Disappeared in an Array (easy)
      • Heaters (Easy Google)
      • Relative Ranks (Easy Google)
      • Longest Harmonious Subsequence (Easy)
      • Non-decreasing Array (Easy Google)
      • Degree of an Array
      • 1-bit and 2-bit Characters
      • Odd Even Linked List
      • K Empty Slots
      • Set Matrix Zeroes
      • Third Maximum Number
      • Fruit Into Baskets
      • Longest Substring with At Most K Distinct Characters
      • Longest Mountain in Array
      • Reverse Pairs
      • Split Linked List in Parts
      • Pancake Sorting
      • Largest Perimeter Triangle
      • Subarrays with K Different Integers
      • Subarray Sums Divisible by K
    • Binary Search
      • Sqrt(x)
      • Kth Smallest Element in a Sorted Matrix
      • Find Right Interval
      • Search a 2D Matrix II
      • Maximum Number in Mountain Sequence
      • Find Peak Element
      • Total Occurrence of Target
      • K Closest Numbers In Sorted Array
      • Smallest Rectangle Enclosing Black Pixels
      • Maximum Average Subarray
      • Maximum Average Subarray II
      • Wood Cut
      • Find the Duplicate Number
      • Search in Rotated Sorted Array
      • Median of two Sorted Arrays
      • K-diff Pairs in an Array (Easy Amazon)
      • Find Peak Element II
      • Maximum Number of Removable Characters
      • Minimum Absolute Difference Queries
      • Number of Matching Subsequences
      • 889. Construct Binary Tree from Preorder and Postorder Traversal
    • Trie
      • Longest Word in Dictionary
      • Implement Trie
    • String Manipulation
      • String Notes
      • Regular Expressions
      • KMP Search Algorithm
      • Robin Karp Algorithm
      • Shortest Palindrome
      • Count and Say
      • Find All Anagrams in a String
      • Longest Common Prefix
      • Valid Palindrome
      • Find Duplicate File in System
      • Fraction Addition and Subtraction
      • Is Subsequence
      • Maximum Product of Word Lengths
      • Longest Repeating Character Replacement
      • License Key Formatting
      • Decode String
      • Palindromic Substrings
      • Palindrome Permutation
      • Remove Duplicate Letters (hard)
      • Reverse Words in a String
      • Add Binary
      • Isomorphic Strings
      • Word Pattern
      • Valid Word Abbreviation (easy)
      • Longest Substring Without Repeating Characters (Medium)
      • Longest Palindromic Substring (Medium)
      • Reverse String II (Easy Google)
      • Valid Palindrome II (Easy LinkedIn)
      • Count Binary Substrings (Easy)
      • Bold Words in String (Easy Google)
      • Similar RGB Color (Ease Google)
      • Subdomain Visit Count (Easy)
      • String to Integer (atoi)
      • Brace Expansion II
      • 273. Integer to English Words
      • 68. Text Justification
    • DataStructure Problems
      • Stack
      • Min Stack
      • Largest Rectangle in Histogram
      • 2030. Smallest K-Length Subsequence With Occurrences of a Letter
      • 432. All O`one Data Structure
      • Maximum Product of Three Numbers
      • Next Greater Element II
      • High Five
      • K Closest Points
      • Kth Largest Element II
      • Rehashing
      • Ugly Number II
      • Insert Delete GetRandom O(1)
      • Insert Delete GetRandom O(1) - Duplicates allowed (hard)
      • Implement Stack by Two Queues
      • LRU Cache
      • LFU Cache
      • Top k Largest Numbers II
      • Merge k Sorted Lists
      • Merge k Sorted Arrays
      • Top K Frequent Words
      • Heapify
      • Longest Consecutive Sequence
      • Expression Expand
      • Zigzag Iterator
      • Flatten Nested List Iterator
      • Exclusive Time of Functions
      • Task Scheduler
      • Contains Duplicate III
      • Design Hit Counter
      • Two Sum III - Data structure design
      • Find K Pairs with Smallest Sums
      • Find Median from Data Stream
      • Design Log Storage System
      • Implement Stack using Queues
      • Design Compressed String Iterator (Easy Google)
      • Sentence Similarity (Easy Google)
      • Sliding Window Maximum
      • Basic Calculator II
      • Basic Calculator III
      • Group Anagrams
      • Maximal Rectangle
      • Design Phone Directory
      • Shortest Distance to a Character
      • Longest Valid Parentheses
      • Top K Trade Value Stock
      • Exam Room
      • Odd Even Jump
      • Satisfiability of Equality Equations
    • Random
      • Linked List Random Node
      • Random Pick Index
      • Shuffle an Array
      • Random7 Using Random5
      • Random1000 Using Random5
    • Segment Tree
      • Range Sum Query - Mutable
      • Meeting Room III
      • Count of Smaller Numbers After Self
      • 715. Range Module
    • DFS
      • DFS notes
      • Permutation & Combination & Subsets
      • Subsets
      • Beautiful Arrangement
      • Palindrome Partitioning
      • Combination Sum
      • Combination Sum II
      • Combination Sum III
      • Combination Sum IV
      • Permutations
      • Permutations II
      • Next Permutation
      • Generate Parentheses
      • Remove Invalid Parentheses
      • Word Break II
      • Array Nesting
      • Lexicographical Numbers
      • N-Queens
      • Nested List Weight Sum (easy)
      • Letter Combinations of a Phone Number (Medium)
      • Letter Case Permutation (Easy Facebook)
      • Next Closest Time
      • Partition Equal Subset Sum
      • Partition to K Equal Sum Subsets
      • Word Search
      • Numbers With Same Consecutive Differences
      • The Earliest and Latest Rounds Where Players Compete
      • Matchsticks to Square
      • 241. Different Ways to Add Parentheses
    • Two Pointers Problem
      • K-diff Pairs in an Array (Easy Amazon)
      • Two Sum - Unique pairs
      • 3Sum
      • 4Sum
      • 4Sum II
      • Two Sum - Less than or equal to target
      • Sort Colors
      • Sort Colors II
      • Window Sum
      • Valid Triangle Number
      • Partition Array II
      • Max Consecutive Ones II
      • Reverse Vowels of a String (easy)
      • Trapping Rain Water
      • 1498. Number of Subsequences That Satisfy the Given Sum Condition
      • Substring With At Least K Distinct Characters
      • Minimum Window Substring
      • Two Sum VII
      • the kth subarray
    • Interval Problems
      • Non-overlapping Intervals
      • Merge Intervals
      • Insert Interval
      • Minimum Number of Arrows to Burst Balloons
      • Meeting Rooms II
      • Summary Ranges
      • Missing Ranges
      • Rectangle Overlap
      • Rectangle Area
      • Car Pooling
      • The Skyline Problem
    • Dynamic Programming
      • Unique Paths
      • Unique Paths II
      • Unique Binary Search Trees
      • House Robber
      • House Robber III
      • Maximum Subarray
      • Maximum Product Subarray
      • Counting Bits
      • Integer Break
      • Predict the Winner
      • Best Time to Buy and Sell Stock I
      • Best Time to Buy and Sell Stock with Cooldown
      • Best Time To Buy And Sell Stock II
      • Best Time to Buy and Sell Stock III
      • Best Time to Buy and Sell Stock IV
      • Delete Operation for Two Strings(LCS)
      • Longest Palindromic Subsequence
      • Guess Number Higher or Lower II
      • Flip Game II
      • Can I Win
      • Paint House
      • Paint House II
      • Longest Increasing Subsequence
      • Number of Longest Increasing Subsequence
      • Coin Change
      • Coin Change 2
      • Climbing Stairs
      • Min Cost Climbing Stairs
      • Jump Game
      • Jump Game II
      • Paint Fence
      • Edit Distance (hard)
      • Max Product Of Cutting Rope
      • Regular Expression Matching (Hard)
      • Maximal Square (Largest Square of 1's)
      • Longest Cross of 1's
      • Largest Sub-Matrix Sum
      • Max Sum of Rectangle No Larger Than K (Hard)
      • Word Break
      • Wildcard Matching
      • Coins in a Line
      • Coins in a Line II
      • Minimum Path Sum
      • 120 Triangle
      • 410 Split Array Largest Sum
      • Delete Columns to Make Sorted III
      • Minimum Cost For Tickets
      • Longest Turbulent Subarray
      • Knapsack Problem
      • Find the Shortest Superstring
      • Number of Squareful Arrays
      • Best Team With No Conflicts
      • Dungeon Games
      • Longest String Chain
      • Length of Longest Fibonacci Subsequence
      • Number of Ways to Reorder Array to Get Same BST
      • Last Stone Weight II
      • Palindrome Partitioning II
      • Jump Game VI
      • Stone Game VII
      • Interleaving String
      • Maximum Number of Points with Cost
      • 1235. Maximum Profit in Job Scheduling
      • 730. Count Different Palindromic Subsequences
      • 1682. Longest Palindromic Subsequence II
      • 2044. Count Number of Maximum Bitwise-OR Subsets
    • Greedy Algorithms
      • Delete Columns to Make Sorted II
      • Find the Celebrity
      • Binary Tree Cameras
      • Minimum Number of K Consecutive Bit Flips
      • Avoid Flood in The City
    • Bit Manipulation
      • Bit Manipulation Notes
      • Reverse Bits
      • Maximum XOR of Two Numbers in an Array
      • Single Number II
      • Single Number III
      • Total Hamming Distance
      • Reverse Integer
      • Convert a Number to Hexadecimal
      • Prime Number of Set Bits in Binary Representation
      • Sum of Two Integers
      • Binary Watch (easy)
      • Binary Number with Alternating Bits (Easy Yahoo)
      • Triples with Bitwise AND Equal To Zero
      • Number of Wonderful Substrings
      • Find Longest Awesome Substring
    • Math Problems
      • 2376. Count Special Integers
      • Nth digit
      • Count Primes
      • Divide Two Integers
      • 2 Keys Keyboard
      • Gray Code
      • Excel Sheet Column Title
      • Majority Element II
      • Factorial Trailing Zeroes
      • Power of Four
      • Pow(x, n)
      • Happy Number
      • Largest Palindrome Product
      • Sum of Square Numbers (Easy LinkedIn)
      • Sparse Matrix Multiplication
      • Equal Rational Numbers
      • Broken Calculator
      • Least Operators to Express Number
      • Count Good Numbers
    • Brainteaser
      • Bulb Switcher
      • Elimination Game
    • Other Problems
      • Drop Eggs
      • Diagonal Traverse
      • Reconstruct Original Digits from English
      • Spiral Matrix II
      • Strobogrammatic Number (I, II, III)
      • Number of Boomerangs
      • Rotated Digits (Easy Google)
      • Magic Squares In Grid (Easy Google)
      • Rotate Image
      • Prison Cells After N Days
      • 407. Trapping Rain Water II
      • 1249. Minimum Remove to Make Valid Parentheses
    • Computer Graphics
      • Minimum Area Rectangle
      • Minimum Area Rectangle II
      • Generate Random Point in a Circle
      • Grid Illumination
      • 149. Max Points on a Line
  • Multi-threading Problems
    • 1188. Design Bounded Blocking Queue
  • Operating System Notes
    • Life and Death of Processes
    • Signals and handlers
    • Shell and Glue
    • Pointers and Types
    • Process Lifecycle
    • Threads
    • Multithreaded Programming
    • Locks and the Bounded Buffer
    • Atomicity and semaphores
    • Dead Lock
    • Memory Management
    • Virtual Memory
    • Memory Addressing
    • How Lock Wait Awake Works
  • C++ Notes
    • Cpp Note1: 右值引用于移动语意
    • Cpp Note2: 运算符重载,容器使用,Function Object,virtual method
    • Cpp Note3: 函数指针,函数对象,Lambda
    • Cpp Note4: 细节
    • Cpp Note5: 多线程
    • Cpp Note6: Val Categories, 函数参数与返回值, Copy Elision
    • Cpp Note7: auto
    • Cpp Note8: iterrators
  • System Design
  • Design Pattern
    • Overview
  • Java Multithreading
Powered by GitBook
On this page
  1. Algorithms

Computer Graphics

Minimum Area RectangleMinimum Area Rectangle IIGenerate Random Point in a CircleGrid Illumination149. Max Points on a Line
Previous1249. Minimum Remove to Make Valid ParenthesesNextMinimum Area Rectangle