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

Bit Manipulation

Bit Manipulation NotesReverse BitsMaximum XOR of Two Numbers in an ArraySingle Number IISingle Number IIITotal Hamming DistanceReverse IntegerConvert a Number to HexadecimalPrime Number of Set Bits in Binary RepresentationSum of Two IntegersBinary Watch (easy)Binary Number with Alternating Bits (Easy Yahoo)Triples with Bitwise AND Equal To ZeroNumber of Wonderful SubstringsFind Longest Awesome Substring
PreviousAvoid Flood in The CityNextBit Manipulation Notes