By the same author of the "Blind 75", the "Grind 169" is an extension of the original 75 most essential coding interview questions. The Grind 169 aims at providing a broader and more comprehensive set of coding interview questions.
grind_169.md
Array
- [x] Two Sum
- [x] Best Time to Buy and Sell Stock
- [ ] Insert Interval
- [ ] 3Sum
- [x] Product of Array Except Self
- [ ] Combination Sum
- [ ] Merge Intervals
- [ ] Majority Element
- [ ] Sort Colors
- [x] Contains Duplicate
- [ ] Container With Most Water
- [ ] Meeting Rooms
- [ ] Gas Station
- [ ] Longest Consecutive Sequence
- [ ] Rotate Array
- [ ] Contiguous Array
- [ ] Subarray Sum Equals K
- [ ] Employee Free Time
- [ ] Move Zeroes
- [ ] Meeting Rooms II
- [ ] Sliding Window Maximum
- [ ] Squares of a Sorted Array
- [ ] 3Sum Closest
- [ ] Non-overlapping Intervals
String
- [x] Valid Palindrome
- [x] Valid Anagram
- [ ] Longest Substring Without Repeating Characters
- [ ] Longest Palindrome
- [ ] Minimum Window Substring
- [ ] String to Integer (atoi)
- [ ] Longest Palindromic Substring
- [ ] Find All Anagrams in a String
- [x] Group Anagrams
- [ ] Longest Repeating Character Replacement
- [ ] Longest Common Prefix
- [ ] Largest Number
- [ ] Encode and Decode Strings
- [ ] Palindrome Pairs
Matrix
- [ ] Spiral Matrix
- [ ] Valid Sudoku
- [ ] Rotate Image
- [ ] Set Matrix Zeroes
- [ ] Sudoku Solver
Binary Search
- [ ] Binary Search
- [ ] First Bad Version
- [ ] Search in Rotated Sorted Array
- [ ] Time Based Key-Value Store
- [ ] Maximum Profit in Job Scheduling
- [ ] Median of Two Sorted Arrays
- [ ] Search a 2D Matrix
- [ ] Find Minimum in Rotated Sorted Array
Graph
- [ ] Flood Fill
- [ ] 01 Matrix
- [ ] Clone Graph
- [ ] Course Schedule
- [ ] Number of Islands
- [ ] Rotting Oranges
- [ ] Accounts Merge
- [ ] Word Ladder
- [ ] Word Search
- [ ] Minimum Height Trees
- [ ] Pacific Atlantic Water Flow
- [ ] Shortest Path to Get Food
- [ ] Graph Valid Tree
- [ ] Course Schedule II
- [ ] Number of Connected Components in an Undirected Graph
- [ ] Minimum Knight Moves
- [ ] Longest Increasing Path in a Matrix
- [ ] Word Search II
- [ ] Alien Dictionary
- [ ] Bus Routes
- [ ] Cheapest Flights Within K Stops
Binary Search Tree
- [ ] Lowest Common Ancestor of a Binary Search Tree
- [ ] Validate Binary Search Tree
- [ ] Kth Smallest Element in a BST
- [ ] Inorder Successor in BST
- [ ] Convert Sorted Array to Binary Search Tree
Binary Tree
- [ ] Invert Binary Tree
- [ ] Balanced Binary Tree
- [ ] Binary Tree Level Order Traversal
- [ ] Lowest Common Ancestor of a Binary Tree
- [ ] Serialize and Deserialize Binary Tree
- [ ] Diameter of Binary Tree
- [ ] Binary Tree Right Side View
- [ ] Maximum Depth of Binary Tree
- [ ] Construct Binary Tree from Preorder and Inorder Traversal
- [ ] Binary Tree Maximum Path Sum
- [ ] Path Sum II
- [ ] Maximum Width of Binary Tree
- [ ] Same Tree
- [ ] Binary Tree Zigzag Level Order Traversal
- [ ] Path Sum III
- [ ] Symmetric Tree
- [ ] All Nodes Distance K in Binary Tree
- [ ] Subtree of Another Tree
Hash Table
Recursion
- [ ] Permutations
- [ ] Subsets
- [ ] Letter Combinations of a Phone Number
- [ ] Next Permutation
- [ ] Generate Parentheses
- [ ] N-Queens
Linked List
- [x] Merge Two Sorted Lists
- [x] Linked List Cycle
- [x] Reverse Linked List
- [ ] Middle of the Linked List
- [ ] LRU Cache
- [ ] Remove Nth Node From End of List
- [ ] Swap Nodes in Pairs
- [ ] Odd Even Linked List
- [ ] Add Two Numbers
- [ ] Sort List
- [ ] Palindrome Linked List
- [ ] Reorder List
- [ ] Rotate List
- [ ] Reverse Nodes in k-Group
Stack
- [x] Valid Parentheses
- [ ] Implement Queue using Stacks
- [ ] Evaluate Reverse Polish Notation
- [ ] Min Stack
- [ ] Trapping Rain Water
- [ ] Basic Calculator
- [ ] Largest Rectangle in Histogram
- [ ] Daily Temperatures
- [ ] Backspace String Compare
- [ ] Maximum Frequency Stack
- [ ] Decode String
- [ ] Asteroid Collision
- [ ] Longest Valid Parentheses
- [ ] Basic Calculator II
Queue
Heap
- [ ] K Closest Points to Origin
- [ ] Find Median from Data Stream
- [x] Merge k Sorted Lists
- [ ] Task Scheduler
- [ ] Top K Frequent Words
- [ ] Find K Closest Elements
- [ ] Kth Largest Element in an Array
- [ ] Smallest Range Covering Elements from K Lists
Trie
- [ ] Implement Trie (Prefix Tree)
- [ ] Word Break
- [ ] Design Add and Search Words Data Structure
- [ ] Design In-Memory File System
Dynamic Programming
- [ ] Maximum Subarray
- [x] Coin Change
- [x] Climbing Stairs
- [ ] Partition Equal Subset Sum
- [ ] Unique Paths
- [ ] House Robber
- [ ] Maximum Product Subarray
- [x] Longest Increasing Subsequence
- [ ] Jump Game
- [ ] Maximal Square
- [ ] Decode Ways
- [ ] Combination Sum IV
Binary
- [ ] Add Binary
- [ ] Find the Duplicate Number
- [ ] Counting Bits
- [ ] Number of 1 Bits
- [ ] Single Number
- [ ] Missing Number
- [ ] Reverse Bits
Math
- [ ] Roman to Integer
- [ ] Random Pick with Weight
- [ ] Pow(x, n)
- [ ] Reverse Integer
- [ ] Palindrome Number