Company: Microsoft
- 01 Matrix
- 132 Pattern
- 2 Keys Keyboard
- 3Sum Closest
- 3Sum
- 4 Keys Keyboard
- 4Sum
- Accounts Merge
- Add Binary
- Add Bold Tag in String
- Add Digits
- Add Strings
- Add Two Integers
- Add Two Numbers II
- Add Two Numbers
- Adding Spaces to a String
- Alien Dictionary
- All Nodes Distance K in Binary Tree
- All O`one Data Structure
- All Paths From Source to Target
- Alternating Groups II
- Amount of Time for Binary Tree to Be Infected
- Angle Between Hands of a Clock
- Apply Transform Over Each Element in Array
- Arithmetic Slices II - Subsequence
- Assign Cookies
- Asteroid Collision
- Average Height of Buildings in Each Segment
- Balanced Binary Tree
- Baseball Game
- Basic Calculator II
- Basic Calculator III
- Basic Calculator
- Battleships in a Board
- Beautiful Array
- Best Time to Buy and Sell Stock II
- Best Time to Buy and Sell Stock III
- Best Time to Buy and Sell Stock IV
- Best Time to Buy and Sell Stock with Transaction Fee
- Best Time to Buy and Sell Stock
- Binary Search Tree Iterator
- Binary Search
- Binary Subarrays With Sum
- Binary Tree Cameras
- Binary Tree Inorder Traversal
- Binary Tree Level Order Traversal
- Binary Tree Maximum Path Sum
- Binary Tree Paths
- Binary Tree Postorder Traversal
- Binary Tree Right Side View
- Binary Tree Vertical Order Traversal
- Binary Tree Zigzag Level Order Traversal
- Boats to Save People
- Boundary of Binary Tree
- Buddy Strings
- Buildings With an Ocean View
- Bulb Switcher II
- Bulb Switcher
- Bus Routes
- Buy Two Chocolates
- Can Place Flowers
- Candy
- Capacity To Ship Packages Within D Days
- Car Fleet
- Car Pooling
- Change the Root of a Binary Tree
- Cheapest Flights Within K Stops
- Check if All A's Appears Before All B's
- Check if Array Is Sorted and Rotated
- Check If Array Pairs Are Divisible by k
- Check if One String Swap Can Make Strings Equal
- Cinema Seat Allocation
- Circular Array Loop
- Climbing Stairs
- Clone Graph
- Closest Binary Search Tree Value
- Clumsy Factorial
- Coin Change II
- Coin Change
- Combination Sum II
- Combination Sum
- Combinations
- Compare Version Numbers
- Concatenated Words
- Concatenation of Array
- Construct Binary Search Tree from Preorder Traversal
- Construct Binary Tree from Inorder and Postorder Traversal
- Construct Binary Tree from Preorder and Inorder Traversal
- Construct K Palindrome Strings
- Construct the Longest New String
- Container With Most Water
- Contains Duplicate II
- Contains Duplicate
- Contiguous Array
- Convert Binary Search Tree to Sorted Doubly Linked List
- Convert Sorted Array to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Copy List with Random Pointer
- Count and Say
- Count Binary Substrings
- Count Complete Tree Nodes
- Count Days Without Meetings
- Count Good Nodes in Binary Tree
- Count Good Numbers
- Count Hills and Valleys in an Array
- Count Nice Pairs in an Array
- Count Nodes Equal to Average of Subtree
- Count Non-Decreasing Subarrays After K Operations
- Count Number of Maximum Bitwise-OR Subsets
- Count Number of Nice Subarrays
- Count Odd Numbers in an Interval Range
- Count of Smaller Numbers After Self
- Count Primes
- Count Square Submatrices with All Ones
- Count Subarrays Where Max Element Appears at Least K Times
- Count Subarrays With Fixed Bounds
- Count Submatrices With Equal Frequency of X and Y
- Count Substrings That Differ by One Character
- Count the Number of Special Characters II
- Count Unique Characters of All Substrings of a Given String
- Count Vowel Strings in Ranges
- Counter
- Counting Bits
- Counting Words With a Given Prefix
- Course Schedule II
- Course Schedule
- Cousins in Binary Tree II
- Cousins in Binary Tree
- Create a DataFrame from List
- Create Hello World Function
- Critical Connections in a Network
- Daily Temperatures
- Day of the Week
- Decode String
- Decode Ways
- Delete and Earn
- Delete Leaves With a Given Value
- Delete N Nodes After M Nodes of a Linked List
- Delete Node in a BST
- Delete Node in a Linked List
- Delete Tree Nodes
- Design A Leaderboard
- Design Add and Search Words Data Structure
- Design Browser History
- Design Circular Queue
- Design Excel Sum Formula
- Design File System
- Design HashMap
- Design Hit Counter
- Design In-Memory File System
- Design Memory Allocator
- Design Search Autocomplete System
- Design Skiplist
- Design Tic-Tac-Toe
- Design Twitter
- Diameter of Binary Tree
- Different Ways to Add Parentheses
- Distinct Subsequences
- Distribute Coins in Binary Tree
- Divide an Array Into Subarrays With Minimum Cost II
- Divide Array Into Equal Pairs
- Divide Nodes Into the Maximum Number of Groups
- Divide Two Integers
- Dungeon Game
- Edit Distance
- Encode and Decode Strings
- Encode and Decode TinyURL
- Equal Rational Numbers
- Equal Row and Column Pairs
- Evaluate Division
- Evaluate Reverse Polish Notation
- Excel Sheet Column Number
- Excel Sheet Column Title
- Extra Characters in a String
- Factorial Trailing Zeroes
- Fibonacci Number
- Filter Elements from Array
- Find All Anagrams in a String
- Find All Duplicates in an Array
- Find All Possible Recipes from Given Supplies
- Find All The Lonely Nodes
- Find Bottom Left Tree Value
- Find Center of Star Graph
- Find Closest Number to Zero
- Find Common Characters
- Find Duplicate Subtrees
- Find Eventual Safe States
- Find First and Last Position of Element in Sorted Array
- Find if Array Can Be Sorted
- Find if Path Exists in Graph
- Find K Closest Elements
- Find K Pairs with Smallest Sums
- Find Largest Value in Each Tree Row
- Find Lucky Integer in an Array
- Find Median from Data Stream
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array
- Find Missing and Repeated Values
- Find Missing Observations
- Find N Unique Integers Sum up to Zero
- Find Original Array From Doubled Array
- Find Peak Element
- Find Pivot Index
- Find Polygon With the Largest Perimeter
- Find Smallest Common Element in All Rows
- Find the Celebrity
- Find the City With the Smallest Number of Neighbors at a Threshold Distance
- Find the Closest Palindrome
- Find the Difference
- Find the Duplicate Number
- Find the Index of the First Occurrence in a String
- Find the Level of Tree with Minimum Sum
- Find the Longest Substring Containing Vowels in Even Counts
- Find the Median of the Uniqueness Array
- Find the Minimum and Maximum Number of Nodes Between Critical Points
- Find the Town Judge
- Find the Winner of the Circular Game
- Find Unique Binary String
- First Bad Version
- First Missing Positive
- First Unique Character in a String
- Fizz Buzz
- Flatten Binary Tree to Linked List
- Flip Columns For Maximum Number of Equal Rows
- Flip Equivalent Binary Trees
- Flood Fill
- Frequency of the Most Frequent Element
- Frequency Tracker
- Frog Jump II
- Fruit Into Baskets
- Fruits Into Baskets II
- Furthest Building You Can Reach
- Game of Life
- Gas Station
- Generate Parentheses
- Graph Valid Tree
- Greatest Common Divisor of Strings
- Greatest English Letter in Upper and Lower Case
- Group Anagrams
- Grumpy Bookstore Owner
- H-Index
- Hamming Distance
- Hand of Straights
- Happy Number
- House Robber II
- House Robber III
- House Robber IV
- House Robber
- Implement Queue using Stacks
- Implement Rand10() Using Rand7()
- Implement Stack using Queues
- Implement Trie (Prefix Tree)
- Increasing Triplet Subsequence
- Inorder Successor in BST II
- Inorder Successor in BST
- Insert Delete GetRandom O(1)
- Insert Interval
- Insert into a Binary Search Tree
- Insertion Sort List
- Integer Break
- Integer to English Words
- Integer to Roman
- Interleaving String
- Intersection of Two Arrays II
- Intersection of Two Arrays
- Intersection of Two Linked Lists
- Interval List Intersections
- Invalid Transactions
- Invert Binary Tree
- IPO
- Is Graph Bipartite?
- Is Subsequence
- Island Perimeter
- Isomorphic Strings
- Jewels and Stones
- Jump Game II
- Jump Game III
- Jump Game
- K-diff Pairs in an Array
- K Inverse Pairs Array
- K-th Smallest Prime Fraction
- Keyboard Row
- Kids With the Greatest Number of Candies
- Koko Eating Bananas
- Kth Largest Element in a Stream
- Kth Largest Element in an Array
- Kth Missing Positive Number
- Kth Smallest Element in a BST
- Kth Smallest Element in a Sorted Matrix
- Largest BST Subtree
- Largest Color Value in a Directed Graph
- Largest Combination With Bitwise AND Greater Than Zero
- Largest Divisible Subset
- Largest Multiple of Three
- Largest Number
- Largest Palindromic Number
- Largest Plus Sign
- Largest Positive Integer That Exists With Its Negative
- Largest Rectangle in Histogram
- Largest Time for Given Digits
- Last Stone Weight
- Leaf-Similar Trees
- Length of Last Word
- Length of Longest Fibonacci Subsequence
- Letter Combinations of a Phone Number
- LFU Cache
- Linked List Cycle II
- Linked List Cycle
- Logger Rate Limiter
- Longest Arithmetic Subsequence
- Longest Common Prefix
- Longest Common Subsequence
- Longest Consecutive Sequence
- Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit
- Longest Cycle in a Graph
- Longest Happy String
- Longest Increasing Subsequence
- Longest Mountain in Array
- Longest Nice Subarray
- Longest Nice Substring
- Longest Palindromic Substring
- Longest Path With Different Adjacent Characters
- Longest Repeating Character Replacement
- Longest Strictly Increasing or Strictly Decreasing Subarray
- Longest Substring Of All Vowels in Order
- Longest Substring with At Least K Repeating Characters
- Longest Substring with At Most K Distinct Characters
- Longest Substring Without Repeating Characters
- Longest Valid Parentheses
- Loud and Rich
- Lowest Common Ancestor of a Binary Search Tree
- Lowest Common Ancestor of a Binary Tree II
- Lowest Common Ancestor of a Binary Tree III
- Lowest Common Ancestor of a Binary Tree
- LRU Cache
- Majority Element II
- Majority Element
- Make the Prefix Sum Non-negative
- Make Two Arrays Equal by Reversing Subarrays
- Making A Large Island
- Matchsticks to Square
- Max Area of Island
- Max Chunks To Make Sorted
- Max Consecutive Ones III
- Max Consecutive Ones
- Max Dot Product of Two Subsequences
- Max Number of K-Sum Pairs
- Max Pair Sum in an Array
- Max Points on a Line
- Max Sum of a Pair With Equal Sum of Digits
- Maximal Network Rank
- Maximal Rectangle
- Maximal Square
- Maximize Number of Nice Divisors
- Maximum Absolute Sum of Any Subarray
- Maximum Ascending Subarray Sum
- Maximum Binary Tree
- Maximum Candies Allocated to K Children
- Maximum Depth of Binary Tree
- Maximum Employees to Be Invited to a Meeting
- Maximum Energy Boost From Two Drinks
- Maximum Frequency Stack
- Maximum Length of a Concatenated String with Unique Characters
- Maximum Length of Repeated Subarray
- Maximum Level Sum of a Binary Tree
- Maximum Nesting Depth of the Parentheses
- Maximum Number of Balloons
- Maximum Number of Events That Can Be Attended II
- Maximum Number of Fish in a Grid
- Maximum Number of Intersections on the Chart
- Maximum Number of Operations With the Same Score I
- Maximum Number of Operations With the Same Score II
- Maximum Number of Points with Cost
- Maximum Number of Potholes That Can Be Fixed
- Maximum of Absolute Value Expression
- Maximum Points You Can Obtain from Cards
- Maximum Population Year
- Maximum Price to Fill a Bag
- Maximum Product of Splitted Binary Tree
- Maximum Product of the Length of Two Palindromic Subsequences
- Maximum Product of Three Numbers
- Maximum Product Subarray
- Maximum Profit in Job Scheduling
- Maximum Score Of Spliced Array
- Maximum Size of a Set After Removals
- Maximum Size Subarray Sum Equals k
- Maximum Subarray
- Maximum Subtree of the Same Color
- Maximum Sum of Distinct Subarrays With Length K
- Maximum Swap
- Maximum Total Importance of Roads
- Maximum Twin Sum of a Linked List
- Maximum Value at a Given Index in a Bounded Array
- Maximum Value of K Coins From Piles
- Maximum Width Ramp
- Maximum XOR of Two Numbers in an Array
- Median of Two Sorted Arrays
- Meeting Rooms II
- Meeting Rooms III
- Merge BSTs to Create Single BST
- Merge In Between Linked Lists
- Merge Intervals
- Merge k Sorted Lists
- Merge Nodes in Between Zeros
- Merge Sorted Array
- Merge Strings Alternately
- Merge Two Sorted Lists
- Middle of the Linked List
- Min Cost Climbing Stairs
- Min Cost to Connect All Points
- Min Stack
- Minimize the Maximum Difference of Pairs
- Minimize XOR
- Minimum Absolute Difference Between Elements With Constraint
- Minimum Additions to Make Valid String
- Minimum Adjacent Swaps for K Consecutive Ones
- Minimum Amount of Time to Collect Garbage
- Minimum Bit Flips to Convert Number
- Minimum Common Value
- Minimum Cost to Equalize Array
- Minimum Cost to Hire K Workers
- Minimum Cost to Separate Sentence Into Rows
- Minimum Cost Walk in Weighted Graph
- Minimum Deletions to Make Array Beautiful
- Minimum Deletions to Make Character Frequencies Unique
- Minimum Deletions to Make String Balanced
- Minimum Depth of Binary Tree
- Minimum Domino Rotations For Equal Row
- Minimum Falling Path Sum
- Minimum Flips to Make a OR b Equal to c
- Minimum Fuel Cost to Report to the Capital
- Minimum Genetic Mutation
- Minimum Height Trees
- Minimum Incompatibility
- Minimum Increment to Make Array Unique
- Minimum Knight Moves
- Minimum Moves to Equal Array Elements II
- Minimum Moves to Spread Stones Over Grid
- Minimum Number of Arrows to Burst Balloons
- Minimum Number of Days to Make m Bouquets
- Minimum Number of Food Buckets to Feed the Hamsters
- Minimum Number of Moves to Make Palindrome
- Minimum Number of Operations to Make X and Y Equal
- Minimum Number of Refueling Stops
- Minimum Number of Removals to Make Mountain Array
- Minimum Number of Taps to Open to Water a Garden
- Minimum Operations to Halve Array Sum
- Minimum Operations to Make a Subsequence
- Minimum Operations to Make a Uni-Value Grid
- Minimum Path Sum
- Minimum Rectangles to Cover Points
- Minimum Remove to Make Valid Parentheses
- Minimum Sideway Jumps
- Minimum Size Subarray Sum
- Minimum Sum of Squared Difference
- Minimum Swaps to Group All 1's Together
- Minimum Time Difference
- Minimum Time to Collect All Apples in a Tree
- Minimum Time to Make Rope Colorful
- Minimum Time to Repair Cars
- Minimum Time to Type Word Using Special Typewriter
- Minimum Time to Visit a Cell In a Grid
- Minimum Window Subsequence
- Minimum Window Substring
- Missing Number
- Most Common Word
- Most Profit Assigning Work
- Move Zeroes
- Moving Average from Data Stream
- Multiply Strings
- My Calendar I
- N-ary Tree Level Order Traversal
- N-Queens II
- N-Queens
- Nearest Exit from Entrance in Maze
- Next Greater Element I
- Next Greater Element II
- Next Greater Element III
- Next Greater Node In Linked List
- Next Permutation
- Nim Game
- Non-overlapping Intervals
- Nth Digit
- Number of 1 Bits
- Number of Atoms
- Number of Days Between Two Dates
- Number of Digit One
- Number of Distinct Binary Strings After Applying Operations
- Number of Distinct Islands
- Number of Flowers in Full Bloom
- Number of Islands
- Number of Spaces Cleaning Robot Cleaned
- Number of Steps to Reduce a Number in Binary Representation to One
- Number of Steps to Reduce a Number to Zero
- Number of Students Unable to Eat Lunch
- Number of Sub-arrays With Odd Sum
- Number of Times Binary String Is Prefix-Aligned
- Number of Unique Flavors After Sharing K Candies
- Number of Ways to Separate Numbers
- Number of Ways to Split a String
- Number of Ways to Split Array
- Odd Even Linked List
- Online Stock Span
- Optimal Account Balancing
- Optimal Partition of String
- Painting the Walls
- Palindrome Linked List
- Palindrome Number
- Palindrome Partitioning
- Palindrome Permutation
- Palindrome Removal
- Palindromic Substrings
- Pancake Sorting
- Parallel Courses II
- Parsing A Boolean Expression
- Partition Array Into Three Parts With Equal Sum
- Partition Equal Subset Sum
- Partition Labels
- Partition List
- Pascal's Triangle
- Path Sum II
- Path Sum III
- Path Sum
- Path With Minimum Effort
- Perfect Number
- Perfect Squares
- Permutation in String
- Permutations II
- Permutations
- Plus One
- Populating Next Right Pointers in Each Node II
- Populating Next Right Pointers in Each Node
- Possible Bipartition
- Power of Two
- Pow(x, n)
- Predict the Winner
- Previous Permutation With One Swap
- Print in Order
- Print Words Vertically
- Product of Array Except Self
- Put Marbles in Bags
- Random Pick with Weight
- Range Sum of BST
- Range Sum Query 2D - Immutable
- Range Sum Query - Immutable
- Rank Teams by Votes
- Ransom Note
- Rearrange Array Elements by Sign
- Recover a Tree From Preorder Traversal
- Recover Binary Search Tree
- Rectangle Area
- Rectangle Overlap
- Reducing Dishes
- Reduction Operations to Make the Array Elements Equal
- Redundant Connection
- Reformat The String
- Regular Expression Matching
- Remove All Adjacent Duplicates in String II
- Remove All Adjacent Duplicates In String
- Remove All Occurrences of a Substring
- Remove Comments
- Remove Digit From Number to Maximize Result
- Remove Duplicate Letters
- Remove Duplicates From an Unsorted Linked List
- Remove Duplicates from Sorted Array II
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List
- Remove Element
- Remove Invalid Parentheses
- Remove K Digits
- Remove Linked List Elements
- Remove Nth Node From End of List
- Remove Outermost Parentheses
- Remove Zero Sum Consecutive Nodes from Linked List
- Reorder List
- Reorder Routes to Make All Paths Lead to the City Zero
- Reorganize String
- Replace All ?'s to Avoid Consecutive Repeating Characters
- Replace Words
- Restore IP Addresses
- Reverse Integer
- Reverse Linked List II
- Reverse Linked List
- Reverse Nodes in k-Group
- Reverse Pairs
- Reverse String II
- Reverse String
- Reverse Substrings Between Each Pair of Parentheses
- Reverse Vowels of a String
- Reverse Words in a String II
- Reverse Words in a String
- Robot Return to Origin
- Robot Room Cleaner
- Roman to Integer
- Root Equals Sum of Children
- Rotate Array
- Rotate Image
- Rotate List
- Rotting Oranges
- Running Sum of 1d Array
- Russian Doll Envelopes
- Same Tree
- Satisfiability of Equality Equations
- Score of a String
- Score of Parentheses
- Search a 2D Matrix II
- Search a 2D Matrix
- Search in a Binary Search Tree
- Search in Rotated Sorted Array II
- Search in Rotated Sorted Array
- Search Insert Position
- Search Suggestions System
- Second Minimum Time to Reach Destination
- Separate Black and White Balls
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize BST
- Serialize and Deserialize N-ary Tree
- Set Matrix Zeroes
- Set Mismatch
- Shortest Bridge
- Shortest Common Supersequence
- Shortest Distance After Road Addition Queries I
- Shortest Distance from All Buildings
- Shortest Palindrome
- Shortest Path in Binary Matrix
- Shortest Path Visiting All Nodes
- Shortest Subarray with Sum at Least K
- Shortest Unsorted Continuous Subarray
- Shortest Word Distance
- Shuffle an Array
- Shuffle String
- Shuffle the Array
- Sign of the Product of an Array
- Simplify Path
- Single Element in a Sorted Array
- Single Number II
- Single Number III
- Single Number
- Single-Threaded CPU
- Sliding Window Maximum
- Smallest Missing Integer Greater Than Sequential Prefix Sum
- Smallest Number With Given Digit Product
- Smallest Range Covering Elements from K Lists
- Smallest Value of the Rearranged Number
- Snakes and Ladders
- Snapshot Array
- Sort an Array
- Sort Array By Parity
- Sort Characters By Frequency
- Sort Colors
- Sort List
- Special Array I
- Special Array II
- Spiral Matrix II
- Spiral Matrix III
- Spiral Matrix
- Split Array Largest Sum
- Split Array With Same Average
- Split Linked List in Parts
- Sqrt(x)
- Squares of a Sorted Array
- Statistics from a Large Sample
- Stone Game IV
- Stone Game
- String Compression II
- String Compression III
- String Compression
- String to Integer (atoi)
- Strong Password Checker
- Subarray Sum Equals K
- Subarray Sums Divisible by K
- Subarrays with K Different Integers
- Subsequence of Size K With the Largest Even Sum
- Subsets II
- Subsets
- Substring with Concatenation of All Words
- Subtree of Another Tree
- Sudoku Solver
- Sum of Beauty of All Substrings
- Sum of Digits of String After Convert
- Sum of Distances in Tree
- Sum of Left Leaves
- Sum of Square Numbers
- Sum of Subarray Minimums
- Sum of Subarray Ranges
- Sum of Two Integers
- Sum Root to Leaf Numbers
- Surrounded Regions
- Swap For Longest Repeated Character Substring
- Swap Nodes in Pairs
- Symmetric Tree
- Tag Validator
- Tallest Billboard
- Target Sum
- Task Scheduler
- Text Justification
- The k-th Lexicographical String of All Happy Strings of Length n
- The Knight’s Tour
- The kth Factor of n
- The Latest Time to Catch a Bus
- The Number of Full Rounds You Have Played
- The Number of the Smallest Unoccupied Chair
- The Skyline Problem
- Third Maximum Number
- Three Divisors
- Time Based Key-Value Store
- Time Needed to Inform All Employees
- To Be Or Not To Be
- Top K Frequent Elements
- Top K Frequent Words
- Total Appeal of A String
- Total Hamming Distance
- Transpose Matrix
- Trapping Rain Water
- Triangle
- Two Sum II - Input Array Is Sorted
- Two Sum IV - Input is a BST
- Two Sum
- Ugly Number II
- Ugly Number
- Unique Binary Search Trees
- Unique Number of Occurrences
- Unique Paths II
- Unique Paths
- Valid Anagram
- Valid Palindrome II
- Valid Palindrome
- Valid Parentheses
- Valid Parenthesis String
- Valid Perfect Square
- Valid Sudoku
- Valid Tic-Tac-Toe State
- Validate Binary Search Tree
- Validate Binary Tree Nodes
- Validate IP Address
- Verifying an Alien Dictionary
- Vertical Order Traversal of a Binary Tree
- Walls and Gates
- Water and Jug Problem
- Water Bottles II
- Water Bottles
- Web Crawler Multithreaded
- Widest Pair of Indices With Equal Range Sum
- Widest Vertical Area Between Two Points Containing No Points
- Wildcard Matching
- Word Break II
- Word Break
- Word Ladder II
- Word Ladder
- Word Pattern II
- Word Pattern
- Word Search II
- Word Search
- Word Subsets
- Zigzag Conversion