Array Basics
Declaration, CRUD, traversal patterns β 6 practice questions
PHP Array Functions
array_map, filter, reduce, sort, merge β 5 questions
Sorting Algorithms
Bubble, Merge, Quick, Counting sort + 5 interview questions
Searching
Binary Search + 7 variants: rotated, peak, 2D matrix, Koko
Two Pointers
Two Sum, Three Sum, Rainwater, Palindrome β 8 questions
Sliding Window
Fixed & variable window β max sum, longest substring, K distinct
Prefix Sum
Range queries O(1), Kadane's, subarray sum = K, 2D prefix
PHP Top 20 Interview Questions
Missing number, Merge intervals, First missing positive and more
JS Array Basics
Creation, destructuring, spread, CRUD β 6 practice questions
JS Array Methods
All 30+ methods: map, filter, reduce, flat, find, sort β 5 questions
JS Sorting
Array.sort() quirks, custom comparators, 5 algorithms β 3 questions
JS Searching
Binary Search variants, Koko bananas, 2D matrix β 6 questions
JS Two Pointers
Two Sum, Three Sum, Trap Rainwater, Move Zeros β 8 questions
JS Sliding Window
Fixed & variable window β max sum, longest substring β 7 questions
JS Prefix Sum
Range queries, Kadane's, subarray sum = K, 2D prefix β 6 questions
JS Top 18 Interview Questions
Spiral Matrix, Median Two Arrays, First Missing Positive and more
Recursion Basics
Base cases, call stack, tail recursion, memoization β 7 questions
Recursion Patterns
Divide & conquer, tree recursion, memoization, tail recursion
Backtracking
N-Queens, Sudoku, Word Search, Generate Parentheses β 5 problems
PHP Recursion Top 25 Questions
Subsets, Permutations, Combination Sum, Target Sum and more
JS Recursion Basics
Call stack, base cases, memoization, TCO β 7 questions
JS Recursion Patterns
Divide & conquer, memoization, tree recursion patterns
JS Backtracking
N-Queens with Set, Sudoku, Word Search, Generate Parentheses
JS Recursion Top 25 Questions
Subsets, Permutations, Combination Sum, Target Sum and more
PHP String Basics
Immutability, encoding, common operations β fundamentals
PHP String Functions
strpos, substr, str_replace, preg_match, sprintf and more
PHP String Patterns
Two pointers, sliding window, stack, frequency map patterns
PHP String Top 25 Questions
Anagram, Min Window, Longest Palindrome, Decode String and more
JS String Basics
Immutability, template literals, spread, charCodeAt β fundamentals
JS String Methods
All built-in methods: split, slice, indexOf, match, replace and more
JS String Patterns
Two pointers, sliding window, stack, Map-based frequency patterns
JS String Top 25 Questions
Anagram, Min Window, Longest Palindrome, Decode String and more
PHP Linked List Overview
Node structure, singly vs doubly, traversal fundamentals in PHP
PHP Linked List Basics
Node class, insert, delete, search β building blocks with typed PHP
PHP Linked List Operations
Reverse, detect cycle, merge β fast/slow pointer patterns
PHP Linked List Top 25 Questions
Reverse, Merge K Lists, LRU Cache, Cycle Detection and more
JS Linked List Overview
Node class, singly vs doubly, traversal fundamentals in JavaScript
JS Linked List Basics
ListNode class, insert, delete, search β ES6 class syntax
JS Linked List Operations
Reverse, detect cycle, merge β fast/slow pointer patterns in JS
JS Linked List Top 25 Questions
Reverse, Merge K Lists, LRU Cache, Cycle Detection and more
PHP Stack & Queue Overview
Stack vs Queue concepts, SplStack, SplQueue, array-based implementations
PHP Stack & Queue Basics
Push/pop/peek for stack, enqueue/dequeue for queue with PHP arrays
PHP Stack & Queue Patterns
Monotonic stack, sliding window deque, queue/stack conversions
PHP Stack & Queue Top 25 Questions
Valid Parens, Min Stack, Histogram, Sliding Window Max and more
JS Stack & Queue Overview
Stack vs Queue concepts, array-based implementations in JavaScript
JS Stack & Queue Basics
Push/pop/peek for stack, shift/unshift for queue with JS arrays
JS Stack & Queue Patterns
Monotonic stack, sliding window deque, queue/stack conversions in JS
JS Stack & Queue Top 25 Questions
Valid Parens, Min Stack, Histogram, Sliding Window Max and more
PHP Trees Overview
Binary tree, BST, AVL β concepts and PHP typed class implementations
PHP Tree Basics
Node structure, BST insert/search/delete, tree properties
PHP Tree Traversal
Pre/In/Post-order, Level Order BFS, Morris traversal in PHP
PHP Trees Top 25 Questions
Max Depth, LCA, Serialize, Max Path Sum, Validate BST and more
JS Trees Overview
Binary tree, BST, AVL β concepts and ES6 class implementations
JS Tree Basics
Node structure, BST insert/search/delete, tree properties in JS
JS Tree Traversal
Pre/In/Post-order, Level Order BFS, iterative approaches in JS
JS Trees Top 25 Questions
Max Depth, LCA, Serialize, Max Path Sum, Validate BST and more
PHP Graphs Overview
Adjacency list/matrix, directed/undirected, weighted graph representations
PHP Graph Basics
Graph construction, adjacency list, DFS/BFS fundamentals in PHP
PHP Graph Traversal
BFS, DFS, topological sort, cycle detection, Union-Find in PHP
PHP Graphs Top 25 Questions
Islands, Course Schedule, Word Ladder, Dijkstra and more
JS Graphs Overview
Adjacency list/matrix, directed/undirected, weighted graphs in JS
JS Graph Basics
Graph construction, adjacency list, DFS/BFS fundamentals in JS
JS Graph Traversal
BFS, DFS, topological sort, cycle detection, Union-Find in JS
JS Graphs Top 25 Questions
Islands, Course Schedule, Word Ladder, Dijkstra and more
PHP Hashing Overview
Hash tables, collision handling, PHP arrays as hash maps
PHP Hashing Basics
Array as hash map, array_key_exists, frequency counting in PHP
PHP Hashing Patterns
Frequency maps, complement lookup, prefix sum + hash, sliding window
PHP Hashing Top 25 Questions
Two Sum, LRU Cache, Subarray Sum K, Min Window and more
JS Hashing Overview
Map, Set, WeakMap β hashing data structures native to JavaScript
JS Hashing Basics
Map, Set, object-as-hashmap β frequency counting in JS
JS Hashing Patterns
Map insertion-order trick (LRU), frequency maps, complement lookup
JS Hashing Top 25 Questions
Two Sum, LRU Cache, Subarray Sum K, Min Window and more
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ PHP ARRAY BASICS ββ | |||||
| 1 | Reverse an Array | Easy | Two Pointers | O(n) | O(1) |
| 2 | Find Max & Min | Easy | Linear Scan | O(n) | O(1) |
| 3 | Count Occurrences | Easy | Hash Map | O(n) | O(n) |
| 4 | Remove Duplicates | Easy | Hash Set | O(n) | O(n) |
| 5 | Check if Array is Sorted | Easy | Adjacent Compare | O(n) | O(1) |
| 6 | Rotate Array by K Positions | Med | Reverse Trick | O(n) | O(1) |
| ββ PHP ARRAY FUNCTIONS ββ | |||||
| 7 | Flatten Nested Array | Med | Recursion | O(n) | O(n) |
| 8 | Group Array by Key | Med | Hash Map | O(n) | O(n) |
| 9 | Second Largest Number | Med | Single Pass | O(n) | O(1) |
| 10 | Transpose a 2D Matrix | Med | Index Swap | O(nΒ²) | O(nΒ²) |
| 11 | Chunk Array into N Parts | Easy | Slice / Loop | O(n) | O(n) |
| ββ PHP SORTING ββ | |||||
| 12 | Sort 0s, 1s, 2s (DNF) | Med | 3 Pointers | O(n) | O(1) |
| 13 | Kth Largest Element | Med | Quick Select | O(n) avg | O(1) |
| 14 | Count Inversions | Hard | Merge Sort | O(n log n) | O(n) |
| 15 | Sort Array by Frequency | Med | Custom Sort | O(n log n) | O(n) |
| 16 | Merge Two Sorted Arrays | Easy | Two Pointers | O(n+m) | O(n+m) |
| ββ PHP SEARCHING ββ | |||||
| 17 | Binary Search | Easy | Divide & Conquer | O(log n) | O(1) |
| 18 | First & Last Occurrence | Med | Binary Search | O(log n) | O(1) |
| 19 | Search in Rotated Sorted Array | Med | Binary Search | O(log n) | O(1) |
| 20 | Find Peak Element | Med | Binary Search | O(log n) | O(1) |
| 21 | Search in 2D Sorted Matrix | Med | Top-right Walk | O(m+n) | O(1) |
| 22 | Koko Bananas (Min Speed) | Hard | Binary on Answer | O(n log m) | O(1) |
| ββ PHP TWO POINTERS ββ | |||||
| 23 | Two Sum (Sorted Array) | Easy | Two Pointers | O(n) | O(1) |
| 24 | Three Sum (Triplets = 0) | Med | Sort + Two Ptr | O(nΒ²) | O(1) |
| 25 | Remove Duplicates (Sorted) | Easy | Two Pointers | O(n) | O(1) |
| 26 | Container With Most Water | Med | Two Pointers | O(n) | O(1) |
| 27 | Valid Palindrome | Easy | Two Pointers | O(n) | O(1) |
| 28 | Trap Rainwater | Hard | Two Pointers | O(n) | O(1) |
| 29 | Move Zeros to End | Easy | Two Pointers | O(n) | O(1) |
| 30 | Sort Array by Parity | Easy | Two Pointers | O(n) | O(1) |
| ββ PHP SLIDING WINDOW ββ | |||||
| 31 | Max Sum Subarray of Size K | Easy | Fixed Window | O(n) | O(1) |
| 32 | Smallest Subarray Sum β₯ S | Med | Variable Window | O(n) | O(1) |
| 33 | Longest No-Repeat Substring | Med | Sliding + Map | O(n) | O(n) |
| 34 | K Distinct Characters | Med | Variable Window | O(n) | O(k) |
| 35 | Max Average Subarray | Easy | Fixed Window | O(n) | O(1) |
| 36 | Permutation in String | Med | Fixed Window+Map | O(n) | O(1) |
| 37 | Max Consecutive Ones K Flips | Med | Variable Window | O(n) | O(1) |
| ββ PHP PREFIX SUM ββ | |||||
| 38 | Range Sum Query | Easy | Prefix Sum | O(1) query | O(n) |
| 39 | Subarray Sum Equals K | Med | Prefix + Hash | O(n) | O(n) |
| 40 | Equilibrium Index | Med | Prefix Sum | O(n) | O(n) |
| 41 | Product Array Except Self | Med | Left/Right Pass | O(n) | O(1) |
| 42 | Max Subarray Sum β Kadane's | Med | Kadane's | O(n) | O(1) |
| 43 | 2D Prefix Sum / Rectangle Sum | Med | 2D Prefix Sum | O(1) query | O(nΒ²) |
| ββ PHP TOP INTERVIEW QUESTIONS ββ | |||||
| 44 | Find All Duplicates | Easy | Index Negation | O(n) | O(1) |
| 45 | Find Missing Number | Easy | Sum / XOR | O(n) | O(1) |
| 46 | Single Number (XOR) | Easy | XOR Trick | O(n) | O(1) |
| 47 | Plus One | Easy | Carry Logic | O(n) | O(1) |
| 48 | Best Time to Buy & Sell Stock | Med | Min Tracking | O(n) | O(1) |
| 49 | Find Disappeared Numbers | Med | Index Negation | O(n) | O(1) |
| 50 | Majority Element | Med | Boyer-Moore | O(n) | O(1) |
| 51 | Jump Game | Med | Greedy | O(n) | O(1) |
| 52 | Spiral Matrix | Med | Boundary Shrink | O(mΓn) | O(1) |
| 53 | Rotate Matrix 90Β° | Med | Transpose+Reverse | O(nΒ²) | O(1) |
| 54 | Longest Consecutive Sequence | Med | Hash Set | O(n) | O(n) |
| 55 | Merge Intervals | Med | Sort + Merge | O(n log n) | O(n) |
| 56 | Group Anagrams | Med | Sort Key + Map | O(nΒ·kΒ·log k) | O(n) |
| 57 | Next Permutation | Med | Find+Swap+Reverse | O(n) | O(1) |
| 58 | First Missing Positive | Hard | Cyclic Sort | O(n) | O(1) |
| 59 | Median of Two Sorted Arrays | Hard | Binary Search | O(log(m+n)) | O(1) |
| 60 | Subarray with Equal 0s & 1s | Med | Prefix + Hash | O(n) | O(n) |
| 61 | Word Frequency Count | Easy | Hash Map | O(n) | O(n) |
| 62 | Sliding Window Maximum | Hard | Monotonic Deque | O(n) | O(k) |
| 63 | Next Greater Element | Med | Monotonic Stack | O(n) | O(n) |
| 64 | Daily Temperatures | Med | Monotonic Stack | O(n) | O(n) |
| 65 | Find the Duplicate Number | Med | Floyd's Cycle | O(n) | O(1) |
| 66 | Longest Increasing Subseq. | Med | Patience Sort | O(n log n) | O(n) |
| 67 | Gas Station | Med | Greedy Circular | O(n) | O(1) |
| 68 | Candy Distribution | Hard | Two-pass Greedy | O(n) | O(n) |
| 69 | Meeting Rooms II | Med | Sweep Line | O(n log n) | O(n) |
| 70 | K Closest Points to Origin | Med | Max-Heap / Sort | O(n log n) | O(k) |
| 71 | Set Matrix Zeroes | Med | Flag Row/Col | O(mΓn) | O(1) |
| 72 | Max Sum Circular Subarray | Med | Circular Kadane | O(n) | O(1) |
| 73 | Min Arrows to Burst Balloons | Med | Sort by End | O(n log n) | O(1) |
| 74 | Subarray Sum Divisible by K | Med | Prefix Remainder | O(n) | O(k) |
| 75 | Min in Rotated Sorted Array | Med | Binary Search | O(log n) | O(1) |
| 76 | Wiggle Subsequence | Med | Greedy Directions | O(n) | O(1) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ JS ARRAY BASICS ββ | |||||
| 1 | Reverse an Array | Easy | Two Pointers | O(n) | O(1) |
| 2 | Find Max & Min | Easy | Linear Scan | O(n) | O(1) |
| 3 | Count Occurrences | Easy | Hash Map | O(n) | O(n) |
| 4 | Remove Duplicates | Easy | Set / Filter | O(n) | O(n) |
| 5 | Check if Array is Sorted | Easy | every() / Loop | O(n) | O(1) |
| 6 | Rotate Array by K Positions | Med | Reverse Trick | O(n) | O(1) |
| ββ JS ARRAY METHODS ββ | |||||
| 7 | Flatten Nested Array | Med | flat() / Reduce | O(n) | O(n) |
| 8 | Group Elements by Property | Med | reduce() / Map | O(n) | O(n) |
| 9 | Second Largest Number | Med | sort() or Pass | O(n) | O(1) |
| 10 | Chunk Array into N Parts | Easy | slice() / Loop | O(n) | O(n) |
| 11 | Array Intersection | Easy | Set / filter() | O(n+m) | O(n) |
| ββ JS SORTING ββ | |||||
| 12 | Sort 0s, 1s, 2s (DNF) | Med | 3 Pointers | O(n) | O(1) |
| 13 | Kth Largest Element | Med | Quick Select | O(n) avg | O(1) |
| 14 | Count Inversions | Hard | Merge Sort | O(n log n) | O(n) |
| ββ JS SEARCHING ββ | |||||
| 15 | Binary Search | Easy | Divide & Conquer | O(log n) | O(1) |
| 16 | First & Last Occurrence | Med | Binary Search | O(log n) | O(1) |
| 17 | Search in Rotated Sorted Array | Med | Binary Search | O(log n) | O(1) |
| 18 | Find Peak Element | Med | Binary Search | O(log n) | O(1) |
| 19 | Search in 2D Matrix | Med | Top-right Walk | O(m+n) | O(1) |
| 20 | Koko Bananas (Min Speed) | Hard | Binary on Answer | O(n log m) | O(1) |
| ββ JS TWO POINTERS ββ | |||||
| 21 | Two Sum (Sorted Array) | Easy | Two Pointers | O(n) | O(1) |
| 22 | Three Sum (Triplets = 0) | Med | Sort + Two Ptr | O(nΒ²) | O(1) |
| 23 | Remove Duplicates (Sorted) | Easy | Two Pointers | O(n) | O(1) |
| 24 | Container With Most Water | Med | Two Pointers | O(n) | O(1) |
| 25 | Valid Palindrome | Easy | Two Pointers | O(n) | O(1) |
| 26 | Trap Rainwater | Hard | Two Pointers | O(n) | O(1) |
| 27 | Move Zeros to End | Easy | Two Pointers | O(n) | O(1) |
| 28 | Sort Array by Parity | Easy | Two Pointers | O(n) | O(1) |
| ββ JS SLIDING WINDOW ββ | |||||
| 29 | Max Sum Subarray of Size K | Easy | Fixed Window | O(n) | O(1) |
| 30 | Smallest Subarray Sum >= S | Med | Variable Window | O(n) | O(1) |
| 31 | Longest No-Repeat Substring | Med | Sliding + Map | O(n) | O(n) |
| 32 | K Distinct Characters | Med | Variable Window | O(n) | O(k) |
| 33 | Max Average Subarray | Easy | Fixed Window | O(n) | O(1) |
| 34 | Permutation in String | Med | Fixed Window+Map | O(n) | O(1) |
| 35 | Max Consecutive Ones K Flips | Med | Variable Window | O(n) | O(1) |
| ββ JS PREFIX SUM ββ | |||||
| 36 | Range Sum Query | Easy | Prefix Sum | O(1) query | O(n) |
| 37 | Subarray Sum Equals K | Med | Prefix + Hash | O(n) | O(n) |
| 38 | Equilibrium Index | Med | Prefix Sum | O(n) | O(n) |
| 39 | Product Array Except Self | Med | Left/Right Pass | O(n) | O(1) |
| 40 | Max Subarray Sum β Kadane's | Med | Kadane's | O(n) | O(1) |
| 41 | 2D Prefix Sum / Rectangle Sum | Med | 2D Prefix Sum | O(1) query | O(nΒ²) |
| ββ JS TOP INTERVIEW QUESTIONS ββ | |||||
| 42 | Find All Duplicates | Easy | Set / Index Mark | O(n) | O(n) |
| 43 | Find Missing Number | Easy | Sum / XOR | O(n) | O(1) |
| 44 | Single Number (XOR) | Easy | XOR Trick | O(n) | O(1) |
| 45 | Plus One | Easy | Carry Logic | O(n) | O(1) |
| 46 | Max Product Two Elements | Easy | Two Max Tracking | O(n) | O(1) |
| 47 | Best Time to Buy & Sell Stock | Med | Min Tracking | O(n) | O(1) |
| 48 | Find Disappeared Numbers | Med | Index Negation | O(n) | O(1) |
| 49 | Majority Element | Med | Boyer-Moore | O(n) | O(1) |
| 50 | Jump Game | Med | Greedy | O(n) | O(1) |
| 51 | Spiral Matrix | Med | Boundary Shrink | O(mΓn) | O(1) |
| 52 | Rotate Matrix 90Β° | Med | Transpose+Reverse | O(nΒ²) | O(1) |
| 53 | Longest Consecutive Sequence | Med | Hash Set | O(n) | O(n) |
| 54 | Merge Intervals | Med | Sort + Merge | O(n log n) | O(n) |
| 55 | Group Anagrams | Med | Sort Key + Map | O(nk log k) | O(n) |
| 56 | Next Permutation | Med | Find+Swap+Reverse | O(n) | O(1) |
| 57 | First Missing Positive | Hard | Cyclic Sort | O(n) | O(1) |
| 58 | Median of Two Sorted Arrays | Hard | Binary Search | O(log(m+n)) | O(1) |
| 59 | Subarray with Equal 0s & 1s | Med | Prefix + Hash | O(n) | O(n) |
| 60 | Find K-th Largest (QuickSel) | Hard | Quick Select | O(n) avg | O(1) |
| 61 | Sliding Window Maximum | Hard | Monotonic Deque | O(n) | O(k) |
| 62 | Next Greater Element | Med | Monotonic Stack | O(n) | O(n) |
| 63 | Daily Temperatures | Med | Monotonic Stack | O(n) | O(n) |
| 64 | Find the Duplicate Number | Med | Floyd's Cycle | O(n) | O(1) |
| 65 | Longest Increasing Subseq. | Med | Patience Sort | O(n log n) | O(n) |
| 66 | Gas Station | Med | Greedy Circular | O(n) | O(1) |
| 67 | Candy Distribution | Hard | Two-pass Greedy | O(n) | O(n) |
| 68 | Meeting Rooms II | Med | Sweep Line | O(n log n) | O(n) |
| 69 | K Closest Points to Origin | Med | Sort / QuickSel | O(n log n) | O(k) |
| 70 | Set Matrix Zeroes | Med | Flag Row/Col | O(mΓn) | O(1) |
| 71 | Max Sum Circular Subarray | Med | Circular Kadane | O(n) | O(1) |
| 72 | Min Arrows to Burst Balloons | Med | Sort by End | O(n log n) | O(1) |
| 73 | Subarray Sum Divisible by K | Med | Prefix Remainder | O(n) | O(k) |
| 74 | Min in Rotated Sorted Array | Med | Binary Search | O(log n) | O(1) |
| 75 | Wiggle Subsequence | Med | Greedy Directions | O(n) | O(1) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ BASICS ββ | |||||
| 1 | Factorial | Easy | Linear Recursion | O(n) | O(n) |
| 2 | Fibonacci Number | Easy | Tree Recursion | O(2βΏ)/O(n) | O(n) |
| 3 | Climbing Stairs | Easy | Memoization | O(n) | O(n) |
| 4 | Reverse a String | Easy | Linear Recursion | O(n) | O(n) |
| 5 | Power (Fast Exponentiation) | Med | Divide & Conquer | O(log n) | O(log n) |
| 6 | Merge Sort | Med | Divide & Conquer | O(n log n) | O(n) |
| 7 | Binary Search (Recursive) | Easy | Divide & Conquer | O(log n) | O(log n) |
| ββ BACKTRACKING ββ | |||||
| 8 | All Subsets | Med | Backtracking | O(2βΏ) | O(n) |
| 9 | All Permutations | Med | Backtracking | O(n!) | O(n) |
| 10 | Combination Sum | Med | Backtracking | O(2βΏ) | O(n) |
| 11 | Subsets II (with duplicates) | Med | Backtracking+Sort | O(2βΏ) | O(n) |
| 12 | Permutations II (with dups) | Med | Backtracking+Set | O(n!) | O(n) |
| 13 | Letter Combinations of Phone | Med | Backtracking | O(4βΏ) | O(n) |
| 14 | Generate Parentheses | Med | Backtracking | O(4βΏ/βn) | O(n) |
| 15 | Palindrome Partitioning | Med | Backtracking | O(2βΏΒ·n) | O(n) |
| ββ HARD BACKTRACKING ββ | |||||
| 16 | N-Queens | Hard | Backtracking | O(n!) | O(nΒ²) |
| 17 | Solve Sudoku | Hard | Backtracking | O(9^81) | O(1) |
| 18 | Word Search | Med | DFS Backtracking | O(mΒ·nΒ·4^L) | O(L) |
| 19 | Flood Fill | Easy | DFS Recursion | O(mΒ·n) | O(mΒ·n) |
| 20 | Count Paths in Grid | Med | Memoized DFS | O(mΒ·n) | O(mΒ·n) |
| ββ MEMOIZATION & ADVANCED ββ | |||||
| 21 | Decode Ways | Med | Memoization | O(n) | O(n) |
| 22 | Restore IP Addresses | Med | Backtracking | O(1) | O(1) |
| 23 | Word Break | Med | Memoization | O(nΒ²) | O(n) |
| 24 | Tower of Hanoi | Med | Classic Recursion | O(2βΏ) | O(n) |
| 25 | Target Sum | Med | Backtracking/DP | O(2βΏ) | O(n) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ BASICS ββ | |||||
| 1 | Factorial | Easy | Linear Recursion | O(n) | O(n) |
| 2 | Fibonacci Number | Easy | Tree Recursion | O(2βΏ)/O(n) | O(n) |
| 3 | Climbing Stairs | Easy | Memoization | O(n) | O(n) |
| 4 | Reverse a String | Easy | Linear Recursion | O(n) | O(n) |
| 5 | Power (Fast Exponentiation) | Med | Divide & Conquer | O(log n) | O(log n) |
| 6 | Merge Sort | Med | Divide & Conquer | O(n log n) | O(n) |
| 7 | Binary Search (Recursive) | Easy | Divide & Conquer | O(log n) | O(log n) |
| ββ BACKTRACKING ββ | |||||
| 8 | All Subsets | Med | Backtracking | O(2βΏ) | O(n) |
| 9 | All Permutations | Med | Backtracking | O(n!) | O(n) |
| 10 | Combination Sum | Med | Backtracking | O(2βΏ) | O(n) |
| 11 | Subsets II (with duplicates) | Med | Backtracking+Sort | O(2βΏ) | O(n) |
| 12 | Permutations II (with dups) | Med | Backtracking+Set | O(n!) | O(n) |
| 13 | Letter Combinations of Phone | Med | Backtracking | O(4βΏ) | O(n) |
| 14 | Generate Parentheses | Med | Backtracking | O(4βΏ/βn) | O(n) |
| 15 | Palindrome Partitioning | Med | Backtracking | O(2βΏΒ·n) | O(n) |
| ββ HARD BACKTRACKING ββ | |||||
| 16 | N-Queens | Hard | Backtracking | O(n!) | O(nΒ²) |
| 17 | Solve Sudoku | Hard | Backtracking | O(9^81) | O(1) |
| 18 | Word Search | Med | DFS Backtracking | O(mΒ·nΒ·4^L) | O(L) |
| 19 | Flood Fill | Easy | DFS Recursion | O(mΒ·n) | O(mΒ·n) |
| 20 | Count Paths in Grid | Med | Memoized DFS | O(mΒ·n) | O(mΒ·n) |
| ββ MEMOIZATION & ADVANCED ββ | |||||
| 21 | Decode Ways | Med | Memoization | O(n) | O(n) |
| 22 | Restore IP Addresses | Med | Backtracking | O(1) | O(1) |
| 23 | Word Break | Med | Memoization | O(nΒ²) | O(n) |
| 24 | Tower of Hanoi | Med | Classic Recursion | O(2βΏ) | O(n) |
| 25 | Target Sum | Med | Backtracking/DP | O(2βΏ) | O(n) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ BASICS ββ | |||||
| 1 | Reverse a String | Easy | Two Pointers | O(n) | O(n) |
| 2 | Valid Palindrome | Easy | Two Pointers | O(n) | O(1) |
| 3 | Valid Anagram | Easy | Frequency Count | O(n) | O(1) |
| 4 | First Unique Character | Easy | Hash Map | O(n) | O(1) |
| 5 | Reverse Words in a String | Easy | Split & Reverse | O(n) | O(n) |
| 6 | String Compression | Med | Two Pointers | O(n) | O(n) |
| 7 | Valid Parentheses | Easy | Stack | O(n) | O(n) |
| ββ SLIDING WINDOW ββ | |||||
| 8 | Longest Substring No Repeat | Med | Sliding Window | O(n) | O(n) |
| 9 | Longest Palindromic Substring | Med | Expand Around Center | O(nΒ²) | O(1) |
| 10 | Group Anagrams | Med | Sort Key + Map | O(nΒ·k log k) | O(n) |
| 11 | strStr / Implement indexOf | Easy | KMP / Built-in | O(n+m) | O(m) |
| 12 | Count and Say | Med | Run-length Encode | O(nΒ·2βΏ) | O(n) |
| 13 | Minimum Window Substring | Hard | Sliding Window | O(n) | O(n) |
| ββ PATTERNS & ENCODING ββ | |||||
| 14 | Longest Common Prefix | Easy | Vertical Scan | O(nΒ·m) | O(1) |
| 15 | Roman to Integer | Easy | Hash Map | O(n) | O(1) |
| 16 | Integer to Roman | Med | Greedy | O(1) | O(1) |
| 17 | Decode String | Med | Stack | O(n) | O(n) |
| 18 | Word Break | Med | DP / Trie | O(nΒ²) | O(n) |
| 19 | Palindrome Partitioning | Med | Backtracking | O(2βΏΒ·n) | O(n) |
| 20 | Zigzag Conversion | Med | Row Simulation | O(n) | O(n) |
| ββ ADVANCED ββ | |||||
| 21 | Longest Repeating Char Replace | Med | Sliding Window | O(n) | O(1) |
| 22 | Min Deletions for Unique Freq | Med | Greedy + Sort | O(n) | O(1) |
| 23 | Isomorphic Strings | Easy | Dual Hash Map | O(n) | O(1) |
| 24 | Largest Number | Med | Custom Sort | O(n log n) | O(n) |
| 25 | Find All Anagrams in String | Med | Fixed Sliding Window | O(n) | O(1) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ BASICS ββ | |||||
| 1 | Reverse a String | Easy | Two Pointers | O(n) | O(n) |
| 2 | Valid Palindrome | Easy | Two Pointers | O(n) | O(1) |
| 3 | Valid Anagram | Easy | Frequency Count | O(n) | O(1) |
| 4 | First Unique Character | Easy | Hash Map | O(n) | O(1) |
| 5 | Reverse Words in a String | Easy | Split & Reverse | O(n) | O(n) |
| 6 | String Compression | Med | Two Pointers | O(n) | O(n) |
| 7 | Valid Parentheses | Easy | Stack | O(n) | O(n) |
| ββ SLIDING WINDOW ββ | |||||
| 8 | Longest Substring No Repeat | Med | Sliding Window | O(n) | O(n) |
| 9 | Longest Palindromic Substring | Med | Expand Around Center | O(nΒ²) | O(1) |
| 10 | Group Anagrams | Med | Sort Key + Map | O(nΒ·k log k) | O(n) |
| 11 | strStr / Implement indexOf | Easy | KMP / indexOf | O(n+m) | O(m) |
| 12 | Count and Say | Med | Run-length Encode | O(nΒ·2βΏ) | O(n) |
| 13 | Minimum Window Substring | Hard | Sliding Window | O(n) | O(n) |
| ββ PATTERNS & ENCODING ββ | |||||
| 14 | Longest Common Prefix | Easy | Vertical Scan | O(nΒ·m) | O(1) |
| 15 | Roman to Integer | Easy | Hash Map | O(n) | O(1) |
| 16 | Integer to Roman | Med | Greedy | O(1) | O(1) |
| 17 | Decode String | Med | Stack | O(n) | O(n) |
| 18 | Word Break | Med | DP / Trie | O(nΒ²) | O(n) |
| 19 | Palindrome Partitioning | Med | Backtracking | O(2βΏΒ·n) | O(n) |
| 20 | Zigzag Conversion | Med | Row Simulation | O(n) | O(n) |
| ββ ADVANCED ββ | |||||
| 21 | Longest Repeating Char Replace | Med | Sliding Window | O(n) | O(1) |
| 22 | Min Deletions for Unique Freq | Med | Greedy + Sort | O(n) | O(1) |
| 23 | Isomorphic Strings | Easy | Dual Hash Map | O(n) | O(1) |
| 24 | Largest Number | Med | Custom Sort | O(n log n) | O(n) |
| 25 | Find All Anagrams in String | Med | Fixed Sliding Window | O(n) | O(1) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ BASICS ββ | |||||
| 1 | Reverse a Linked List | Easy | Two Pointers | O(n) | O(1) |
| 2 | Middle of Linked List | Easy | Fast & Slow Ptrs | O(n) | O(1) |
| 3 | Detect Cycle | Easy | Fast & Slow Ptrs | O(n) | O(1) |
| 4 | Cycle Start Node | Med | Fast & Slow Ptrs | O(n) | O(1) |
| 5 | Merge Two Sorted Lists | Easy | Two Pointers | O(n+m) | O(1) |
| ββ MEDIUM PATTERNS ββ | |||||
| 6 | Remove Nth Node From End | Med | Two Pointers | O(n) | O(1) |
| 7 | Delete Node (no head) | Easy | Node Copy | O(1) | O(1) |
| 8 | Intersection of Two Lists | Easy | Two Pointers | O(n+m) | O(1) |
| 9 | Palindrome Linked List | Easy | Fast/Slow + Reverse | O(n) | O(1) |
| 10 | Remove Dups from Sorted List | Easy | One Pointer | O(n) | O(1) |
| 11 | Rotate List by K | Med | Two Pointers | O(n) | O(1) |
| 12 | Add Two Numbers | Med | Simulation | O(n) | O(n) |
| 13 | Copy List with Random Pointer | Med | Hash Map | O(n) | O(n) |
| 14 | Sort List (Merge Sort) | Med | Divide & Conquer | O(n log n) | O(log n) |
| 15 | Odd Even Linked List | Med | Two Pointers | O(n) | O(1) |
| ββ ADVANCED ββ | |||||
| 16 | Swap Nodes in Pairs | Med | Pointer Juggling | O(n) | O(1) |
| 17 | Reverse Between (II) | Med | In-place Reverse | O(n) | O(1) |
| 18 | LRU Cache | Med | HashMap + DLL | O(1) | O(n) |
| 19 | Reorder List | Med | Find Mid+Reverse | O(n) | O(1) |
| 20 | Merge K Sorted Lists | Hard | Min-Heap | O(n log k) | O(k) |
| 21 | Reverse Nodes in K-Group | Hard | Recursive Reverse | O(n) | O(n/k) |
| 22 | Find Duplicate (Cycle II) | Med | Fast & Slow Ptrs | O(n) | O(1) |
| 23 | Max Twin Sum | Med | Fast/Slow + Reverse | O(n) | O(1) |
| 24 | Flatten Multilevel DLL | Med | DFS/Stack | O(n) | O(n) |
| 25 | Split Linked List in Parts | Med | Two Pass | O(n) | O(1) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ BASICS ββ | |||||
| 1 | Reverse a Linked List | Easy | Two Pointers | O(n) | O(1) |
| 2 | Middle of Linked List | Easy | Fast & Slow Ptrs | O(n) | O(1) |
| 3 | Detect Cycle | Easy | Fast & Slow Ptrs | O(n) | O(1) |
| 4 | Cycle Start Node | Med | Fast & Slow Ptrs | O(n) | O(1) |
| 5 | Merge Two Sorted Lists | Easy | Two Pointers | O(n+m) | O(1) |
| ββ MEDIUM PATTERNS ββ | |||||
| 6 | Remove Nth Node From End | Med | Two Pointers | O(n) | O(1) |
| 7 | Delete Node (no head) | Easy | Node Copy | O(1) | O(1) |
| 8 | Intersection of Two Lists | Easy | Two Pointers | O(n+m) | O(1) |
| 9 | Palindrome Linked List | Easy | Fast/Slow + Reverse | O(n) | O(1) |
| 10 | Remove Dups from Sorted List | Easy | One Pointer | O(n) | O(1) |
| 11 | Rotate List by K | Med | Two Pointers | O(n) | O(1) |
| 12 | Add Two Numbers | Med | Simulation | O(n) | O(n) |
| 13 | Copy List with Random Pointer | Med | Map | O(n) | O(n) |
| 14 | Sort List (Merge Sort) | Med | Divide & Conquer | O(n log n) | O(log n) |
| 15 | Odd Even Linked List | Med | Two Pointers | O(n) | O(1) |
| ββ ADVANCED ββ | |||||
| 16 | Swap Nodes in Pairs | Med | Pointer Juggling | O(n) | O(1) |
| 17 | Reverse Between (II) | Med | In-place Reverse | O(n) | O(1) |
| 18 | LRU Cache | Med | Map + DLL | O(1) | O(n) |
| 19 | Reorder List | Med | Find Mid+Reverse | O(n) | O(1) |
| 20 | Merge K Sorted Lists | Hard | Min-Heap | O(n log k) | O(k) |
| 21 | Reverse Nodes in K-Group | Hard | Recursive Reverse | O(n) | O(n/k) |
| 22 | Find Duplicate (Cycle II) | Med | Fast & Slow Ptrs | O(n) | O(1) |
| 23 | Max Twin Sum | Med | Fast/Slow + Reverse | O(n) | O(1) |
| 24 | Flatten Multilevel DLL | Med | DFS/Stack | O(n) | O(n) |
| 25 | Split Linked List in Parts | Med | Two Pass | O(n) | O(1) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ STACK BASICS ββ | |||||
| 1 | Valid Parentheses | Easy | Stack | O(n) | O(n) |
| 2 | Min Stack | Med | Auxiliary Stack | O(1) | O(n) |
| 3 | Evaluate Reverse Polish | Med | Stack | O(n) | O(n) |
| 4 | Daily Temperatures | Med | Monotonic Stack | O(n) | O(n) |
| 5 | Next Greater Element I | Easy | Monotonic Stack | O(n+m) | O(n) |
| ββ MONOTONIC STACK ββ | |||||
| 6 | Next Greater Element II Circular | Med | Monotonic Stack | O(n) | O(n) |
| 7 | Largest Rectangle in Histogram | Hard | Monotonic Stack | O(n) | O(n) |
| 8 | Trapping Rain Water | Hard | Two Pointers/Stack | O(n) | O(1) |
| 9 | Queue Using Two Stacks | Easy | Two Stacks | O(1) amort | O(n) |
| 10 | Stack Using Two Queues | Easy | Two Queues | O(n) | O(n) |
| 11 | Sliding Window Maximum | Hard | Monotonic Deque | O(n) | O(k) |
| ββ COMPLEX STACK & QUEUE ββ | |||||
| 12 | Basic Calculator | Hard | Stack | O(n) | O(n) |
| 13 | Basic Calculator II | Med | Stack | O(n) | O(n) |
| 14 | Decode String | Med | Stack | O(n) | O(n) |
| 15 | Remove Duplicate Letters | Med | Monotonic Stack | O(n) | O(1) |
| 16 | Remove K Digits | Med | Monotonic Stack | O(n) | O(n) |
| 17 | Score of Parentheses | Med | Stack | O(n) | O(n) |
| 18 | Asteroid Collision | Med | Stack | O(n) | O(n) |
| 19 | Car Fleet | Med | Monotonic Stack | O(n log n) | O(n) |
| 20 | Exclusive Time of Functions | Med | Stack | O(n) | O(n) |
| ββ DESIGN & ADVANCED ββ | |||||
| 21 | Number of Visible People Queue | Med | Monotonic Stack | O(n) | O(n) |
| 22 | Design Circular Queue | Med | Array Circular | O(1) | O(k) |
| 23 | Design Circular Deque | Med | Array Circular | O(1) | O(k) |
| 24 | Hit Counter | Med | Queue / Deque | O(1) amort | O(n) |
| 25 | Longest Valid Parentheses | Hard | Stack / DP | O(n) | O(n) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ STACK BASICS ββ | |||||
| 1 | Valid Parentheses | Easy | Stack | O(n) | O(n) |
| 2 | Min Stack | Med | Auxiliary Stack | O(1) | O(n) |
| 3 | Evaluate Reverse Polish | Med | Stack | O(n) | O(n) |
| 4 | Daily Temperatures | Med | Monotonic Stack | O(n) | O(n) |
| 5 | Next Greater Element I | Easy | Monotonic Stack | O(n+m) | O(n) |
| ββ MONOTONIC STACK ββ | |||||
| 6 | Next Greater Element II Circular | Med | Monotonic Stack | O(n) | O(n) |
| 7 | Largest Rectangle in Histogram | Hard | Monotonic Stack | O(n) | O(n) |
| 8 | Trapping Rain Water | Hard | Two Pointers/Stack | O(n) | O(1) |
| 9 | Queue Using Two Stacks | Easy | Two Stacks | O(1) amort | O(n) |
| 10 | Stack Using Two Queues | Easy | Two Queues | O(n) | O(n) |
| 11 | Sliding Window Maximum | Hard | Monotonic Deque | O(n) | O(k) |
| ββ COMPLEX STACK & QUEUE ββ | |||||
| 12 | Basic Calculator | Hard | Stack | O(n) | O(n) |
| 13 | Basic Calculator II | Med | Stack | O(n) | O(n) |
| 14 | Decode String | Med | Stack | O(n) | O(n) |
| 15 | Remove Duplicate Letters | Med | Monotonic Stack | O(n) | O(1) |
| 16 | Remove K Digits | Med | Monotonic Stack | O(n) | O(n) |
| 17 | Score of Parentheses | Med | Stack | O(n) | O(n) |
| 18 | Asteroid Collision | Med | Stack | O(n) | O(n) |
| 19 | Car Fleet | Med | Monotonic Stack | O(n log n) | O(n) |
| 20 | Exclusive Time of Functions | Med | Stack | O(n) | O(n) |
| ββ DESIGN & ADVANCED ββ | |||||
| 21 | Number of Visible People Queue | Med | Monotonic Stack | O(n) | O(n) |
| 22 | Design Circular Queue | Med | Array Circular | O(1) | O(k) |
| 23 | Design Circular Deque | Med | Array Circular | O(1) | O(k) |
| 24 | Hit Counter | Med | Queue / Deque | O(1) amort | O(n) |
| 25 | Longest Valid Parentheses | Hard | Stack / DP | O(n) | O(n) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ EASY ββ | |||||
| 1 | Maximum Depth of Binary Tree | Easy | DFS / BFS | O(n) | O(h) |
| 2 | Invert Binary Tree | Easy | DFS Recursion | O(n) | O(h) |
| 3 | Symmetric Tree | Easy | DFS Mirror | O(n) | O(h) |
| 4 | Path Sum | Easy | DFS Recursion | O(n) | O(h) |
| 16 | Diameter of Binary Tree | Easy | DFS Post-order | O(n) | O(h) |
| 17 | Balanced Binary Tree | Easy | DFS Height Check | O(n) | O(h) |
| 23 | Level Order Bottom-Up | Easy | BFS + Reverse | O(n) | O(n) |
| ββ MEDIUM ββ | |||||
| 5 | Level Order Traversal | Med | BFS Queue | O(n) | O(n) |
| 6 | Validate BST | Med | DFS with Range | O(n) | O(h) |
| 7 | LCA of BST | Med | BST Property | O(h) | O(1) |
| 8 | LCA of Binary Tree | Med | DFS Post-order | O(n) | O(h) |
| 9 | Right Side View | Med | BFS Last per Level | O(n) | O(n) |
| 10 | Count Good Nodes | Med | DFS Max Track | O(n) | O(h) |
| 11 | Kth Smallest in BST | Med | In-order DFS | O(n) | O(h) |
| 14 | Construct Preorder+Inorder | Med | HashMap + Recurse | O(n) | O(n) |
| 15 | Flatten to Linked List | Med | Morris / DFS | O(n) | O(1) |
| 18 | Sum Root to Leaf Numbers | Med | DFS Accumulate | O(n) | O(h) |
| 19 | Path Sum II | Med | DFS Backtracking | O(n) | O(n) |
| 20 | Sorted Array to BST | Med | Binary Search | O(n) | O(h) |
| 21 | Zigzag Level Order | Med | BFS Direction Flag | O(n) | O(n) |
| 22 | Delete Node in BST | Med | BST Recursion | O(h) | O(h) |
| 25 | Max Width of Binary Tree | Med | BFS Index Trick | O(n) | O(n) |
| ββ HARD ββ | |||||
| 12 | Binary Tree Max Path Sum | Hard | DFS Post-order | O(n) | O(h) |
| 13 | Serialize and Deserialize | Hard | BFS / Pre-order | O(n) | O(n) |
| 24 | Recover BST | Hard | In-order + Swap | O(n) | O(1) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ EASY ββ | |||||
| 1 | Maximum Depth of Binary Tree | Easy | DFS / BFS | O(n) | O(h) |
| 2 | Invert Binary Tree | Easy | DFS Recursion | O(n) | O(h) |
| 3 | Symmetric Tree | Easy | DFS Mirror | O(n) | O(h) |
| 4 | Path Sum | Easy | DFS Recursion | O(n) | O(h) |
| 16 | Diameter of Binary Tree | Easy | DFS Post-order | O(n) | O(h) |
| 17 | Balanced Binary Tree | Easy | DFS Height Check | O(n) | O(h) |
| 23 | Level Order Bottom-Up | Easy | BFS + Reverse | O(n) | O(n) |
| ββ MEDIUM ββ | |||||
| 5 | Level Order Traversal | Med | BFS Queue | O(n) | O(n) |
| 6 | Validate BST | Med | DFS with Range | O(n) | O(h) |
| 7 | LCA of BST | Med | BST Property | O(h) | O(1) |
| 8 | LCA of Binary Tree | Med | DFS Post-order | O(n) | O(h) |
| 9 | Right Side View | Med | BFS Last per Level | O(n) | O(n) |
| 10 | Count Good Nodes | Med | DFS Max Track | O(n) | O(h) |
| 11 | Kth Smallest in BST | Med | In-order DFS | O(n) | O(h) |
| 14 | Construct Preorder+Inorder | Med | HashMap + Recurse | O(n) | O(n) |
| 15 | Flatten to Linked List | Med | Morris / DFS | O(n) | O(1) |
| 18 | Sum Root to Leaf Numbers | Med | DFS Accumulate | O(n) | O(h) |
| 19 | Path Sum II | Med | DFS Backtracking | O(n) | O(n) |
| 20 | Sorted Array to BST | Med | Binary Search | O(n) | O(h) |
| 21 | Zigzag Level Order | Med | BFS Direction Flag | O(n) | O(n) |
| 22 | Delete Node in BST | Med | BST Recursion | O(h) | O(h) |
| 25 | Max Width of Binary Tree | Med | BFS Index Trick | O(n) | O(n) |
| ββ HARD ββ | |||||
| 12 | Binary Tree Max Path Sum | Hard | DFS Post-order | O(n) | O(h) |
| 13 | Serialize and Deserialize | Hard | BFS / Pre-order | O(n) | O(n) |
| 24 | Recover BST | Hard | In-order + Swap | O(n) | O(1) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ TRAVERSAL ββ | |||||
| 1 | Number of Islands | Med | BFS/DFS Grid | O(mΓn) | O(mΓn) |
| 2 | Clone Graph | Med | BFS + Hash Map | O(V+E) | O(V) |
| 3 | Course Schedule | Med | Topological/Cycle | O(V+E) | O(V+E) |
| 4 | Course Schedule II | Med | Topological Sort | O(V+E) | O(V+E) |
| 5 | Pacific Atlantic Water Flow | Med | Reverse BFS/DFS | O(mΓn) | O(mΓn) |
| 6 | Surrounded Regions | Med | DFS from Border | O(mΓn) | O(mΓn) |
| 7 | Rotting Oranges | Med | Multi-source BFS | O(mΓn) | O(mΓn) |
| 8 | Walls and Gates | Med | Multi-source BFS | O(mΓn) | O(mΓn) |
| ββ UNION-FIND ββ | |||||
| 9 | Redundant Connection | Med | Union-Find | O(nΞ±(n)) | O(n) |
| 10 | Number of Connected Components | Med | Union-Find / DFS | O(nΞ±(n)) | O(n) |
| 11 | Graph Valid Tree | Med | Union-Find / DFS | O(nΞ±(n)) | O(n) |
| ββ SHORTEST PATH & ADVANCED ββ | |||||
| 12 | Word Ladder | Hard | BFS Level | O(nΒ·LΒ²) | O(nΒ·L) |
| 13 | Shortest Path in Binary Matrix | Med | BFS Grid | O(nΒ²) | O(nΒ²) |
| 14 | Flood Fill | Easy | DFS/BFS Grid | O(mΓn) | O(mΓn) |
| 15 | 01 Matrix | Med | Multi-source BFS | O(mΓn) | O(mΓn) |
| 16 | Network Delay Time | Med | Dijkstra | O(E log V) | O(V) |
| 17 | Swim in Rising Water | Hard | Binary Search+DFS | O(nΒ² log n) | O(nΒ²) |
| 18 | Alien Dictionary | Hard | Topological Sort | O(C) | O(1) |
| 19 | Minimum Height Trees | Med | Leaf Trimming BFS | O(V) | O(V) |
| 20 | Is Graph Bipartite? | Med | BFS 2-Coloring | O(V+E) | O(V) |
| 21 | Find Eventual Safe States | Med | DFS Cycle Detect | O(V+E) | O(V) |
| 22 | Jump Game III | Med | BFS Reachability | O(n) | O(n) |
| 23 | Evaluate Division | Med | Weighted BFS | O(QΒ·E) | O(V+E) |
| 24 | Sequence Reconstruction | Med | Topological Sort | O(V+E) | O(V+E) |
| 25 | Min Cost to Connect All Points | Med | Kruskal's / Prim's | O(nΒ² log n) | O(nΒ²) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ TRAVERSAL ββ | |||||
| 1 | Number of Islands | Med | BFS/DFS Grid | O(mΓn) | O(mΓn) |
| 2 | Clone Graph | Med | BFS + Map | O(V+E) | O(V) |
| 3 | Course Schedule | Med | Topological/Cycle | O(V+E) | O(V+E) |
| 4 | Course Schedule II | Med | Topological Sort | O(V+E) | O(V+E) |
| 5 | Pacific Atlantic Water Flow | Med | Reverse BFS/DFS | O(mΓn) | O(mΓn) |
| 6 | Surrounded Regions | Med | DFS from Border | O(mΓn) | O(mΓn) |
| 7 | Rotting Oranges | Med | Multi-source BFS | O(mΓn) | O(mΓn) |
| 8 | Walls and Gates | Med | Multi-source BFS | O(mΓn) | O(mΓn) |
| ββ UNION-FIND ββ | |||||
| 9 | Redundant Connection | Med | Union-Find | O(nΞ±(n)) | O(n) |
| 10 | Number of Connected Components | Med | Union-Find / DFS | O(nΞ±(n)) | O(n) |
| 11 | Graph Valid Tree | Med | Union-Find / DFS | O(nΞ±(n)) | O(n) |
| ββ SHORTEST PATH & ADVANCED ββ | |||||
| 12 | Word Ladder | Hard | BFS Level | O(nΒ·LΒ²) | O(nΒ·L) |
| 13 | Shortest Path in Binary Matrix | Med | BFS Grid | O(nΒ²) | O(nΒ²) |
| 14 | Flood Fill | Easy | DFS/BFS Grid | O(mΓn) | O(mΓn) |
| 15 | 01 Matrix | Med | Multi-source BFS | O(mΓn) | O(mΓn) |
| 16 | Network Delay Time | Med | Dijkstra | O(E log V) | O(V) |
| 17 | Swim in Rising Water | Hard | Binary Search+BFS | O(nΒ² log n) | O(nΒ²) |
| 18 | Alien Dictionary | Hard | Topological Sort | O(C) | O(1) |
| 19 | Minimum Height Trees | Med | Leaf Trimming BFS | O(V) | O(V) |
| 20 | Is Graph Bipartite? | Med | BFS 2-Coloring | O(V+E) | O(V) |
| 21 | Find Eventual Safe States | Med | DFS Cycle Detect | O(V+E) | O(V) |
| 22 | Jump Game III | Med | BFS Reachability | O(n) | O(n) |
| 23 | Evaluate Division | Med | Weighted BFS | O(QΒ·E) | O(V+E) |
| 24 | Sequence Reconstruction | Med | Topological Sort | O(V+E) | O(V+E) |
| 25 | Min Cost to Connect All Points | Med | Kruskal's / Prim's | O(nΒ² log n) | O(nΒ²) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ EASY ββ | |||||
| 1 | Two Sum | Easy | Hash Map | O(n) | O(n) |
| 4 | Valid Anagram | Easy | Frequency Count | O(n) | O(1) |
| 5 | Contains Duplicate | Easy | Hash Set | O(n) | O(n) |
| 10 | Intersection of Two Arrays | Easy | Hash Set | O(n+m) | O(n) |
| 11 | Happy Number | Easy | Cycle Detection | O(log n) | O(log n) |
| 12 | Isomorphic Strings | Easy | Dual Hash Map | O(n) | O(1) |
| 13 | Word Pattern | Easy | Bijection Map | O(n) | O(n) |
| 17 | Ransom Note | Easy | Frequency Map | O(n+m) | O(1) |
| 18 | Jewels and Stones | Easy | Hash Set | O(j+s) | O(j) |
| 19 | Longest Palindrome from Chars | Easy | Frequency + Pairs | O(n) | O(1) |
| 21 | Min Index Sum of Two Lists | Easy | Hash Map | O(n+m) | O(n) |
| ββ MEDIUM ββ | |||||
| 2 | Group Anagrams | Med | Sort Key + Map | O(nΒ·k log k) | O(n) |
| 3 | Top K Frequent Elements | Med | Bucket Sort | O(n) | O(n) |
| 6 | LRU Cache | Med | HashMap + DLL | O(1) | O(n) |
| 7 | Subarray Sum Equals K | Med | Prefix + Hash | O(n) | O(n) |
| 8 | Longest Consecutive Sequence | Med | Hash Set | O(n) | O(n) |
| 9 | 4Sum II | Med | Complement Map | O(nΒ²) | O(nΒ²) |
| 16 | Find All Anagrams | Med | Fixed Window+Map | O(n) | O(1) |
| 20 | Pairs with Given Difference | Med | Frequency Map | O(n) | O(n) |
| 22 | Custom Sort String | Med | Frequency Map | O(n) | O(n) |
| 23 | Count Pairs Divisible by K | Med | Remainder Map | O(n) | O(k) |
| 24 | Number of Boomerangs | Med | Distance Map | O(nΒ²) | O(n) |
| 25 | Longest Subarray Divisible by K | Med | Prefix Remainder | O(n) | O(k) |
| ββ HARD ββ | |||||
| 14 | First Missing Positive | Hard | Cyclic Sort | O(n) | O(1) |
| 15 | Minimum Window Substring | Hard | Sliding Window | O(n) | O(n) |
| # | Question | Diff | Technique / Pattern | Time | Space |
|---|---|---|---|---|---|
| ββ EASY ββ | |||||
| 1 | Two Sum | Easy | Map | O(n) | O(n) |
| 4 | Valid Anagram | Easy | Frequency Count | O(n) | O(1) |
| 5 | Contains Duplicate | Easy | Set | O(n) | O(n) |
| 10 | Intersection of Two Arrays | Easy | Set | O(n+m) | O(n) |
| 11 | Happy Number | Easy | Cycle Detection | O(log n) | O(log n) |
| 12 | Isomorphic Strings | Easy | Dual Map | O(n) | O(1) |
| 13 | Word Pattern | Easy | Bijection Map | O(n) | O(n) |
| 17 | Ransom Note | Easy | Frequency Map | O(n+m) | O(1) |
| 18 | Jewels and Stones | Easy | Set | O(j+s) | O(j) |
| 19 | Longest Palindrome from Chars | Easy | Frequency + Pairs | O(n) | O(1) |
| 21 | Min Index Sum of Two Lists | Easy | Map | O(n+m) | O(n) |
| ββ MEDIUM ββ | |||||
| 2 | Group Anagrams | Med | Sort Key + Map | O(nΒ·k log k) | O(n) |
| 3 | Top K Frequent Elements | Med | Bucket Sort | O(n) | O(n) |
| 6 | LRU Cache | Med | Map Insertion Order | O(1) | O(n) |
| 7 | Subarray Sum Equals K | Med | Prefix + Map | O(n) | O(n) |
| 8 | Longest Consecutive Sequence | Med | Set | O(n) | O(n) |
| 9 | 4Sum II | Med | Complement Map | O(nΒ²) | O(nΒ²) |
| 16 | Find All Anagrams | Med | Fixed Window+Map | O(n) | O(1) |
| 20 | Pairs with Given Difference | Med | Frequency Map | O(n) | O(n) |
| 22 | Custom Sort String | Med | Frequency Map | O(n) | O(n) |
| 23 | Count Pairs Divisible by K | Med | Remainder Map | O(n) | O(k) |
| 24 | Number of Boomerangs | Med | Distance Map | O(nΒ²) | O(n) |
| 25 | Longest Subarray Divisible by K | Med | Prefix Remainder | O(n) | O(k) |
| ββ HARD ββ | |||||
| 14 | First Missing Positive | Hard | Cyclic Sort | O(n) | O(1) |
| 15 | Minimum Window Substring | Hard | Sliding Window | O(n) | O(n) |
π Two Pointers
Sorted array, pair/triplet sum, palindrome, partition, rainwater
L=0, R=end β move based on condition
πͺ Fixed Sliding Window
Subarray of exact size K β max/min/average
sum += arr[r]; sum -= arr[r-k]
πͺ Variable Sliding Window
Longest/shortest subarray meeting a condition
expand right β shrink left while invalid
β Prefix Sum
Range sum queries O(1), subarray sum = K
prefix[R+1] - prefix[L]
π Binary Search
Sorted array, find value / position / optimal answer
mid = L + Math.floor((R-L)/2)
πΊοΈ Hash Map / Set
Frequency count, duplicate detection, pair complement
seen[val]++ or seen.has(val)
π Kadane's Algorithm
Maximum subarray sum (handles negatives)
curr = max(arr[i], curr + arr[i])
π Index Negation
Find duplicates / missing in 1..n array β O(1) space
arr[abs(v)-1] *= -1 β mark visited
β‘ XOR Trick
Single unique element, find missing number
a^a=0, a^0=a β XOR everything
π³οΈ Boyer-Moore Voting
Find majority element (>n/2 occurrences)
count++ same, count-- diff, reset at 0
π’ Counting Sort
Integer range 0..k, stable sort without comparisons
count[val]++ then cumulate β place
π― Quick Select
Kth largest/smallest in O(n) average
partial quicksort β recurse only one side
π Cyclic Sort
1..n range β place each number at index val-1
while arr[i] != arr[arr[i]-1]: swap
π Binary Search on Answer
Minimize/maximize a value β monotonic condition
binary search on range of answer, check feasibility
π Next Permutation
Find next lexicographic arrangement in-place
find dip β find swap β reverse suffix
π Prefix Product
Product except self β left pass Γ right pass
left[i] = left[i-1] * arr[i-1]