🧠 DSA Interview Prep

Complete Array Guide β€” PHP Laravel & JavaScript PHP 8 JavaScript ES6+ Laravel

🐘 PHP Array Topics
🟨 JavaScript Array Topics
πŸ” PHP Recursion & Backtracking
πŸ” JavaScript Recursion & Backtracking
🧡 PHP String Topics
🧡 JavaScript String Topics
πŸ”— PHP Linked List Topics
πŸ”— JavaScript Linked List Topics
πŸ“š PHP Stack & Queue Topics
πŸ“š JavaScript Stack & Queue Topics
🌳 PHP Trees Topics
🌳 JavaScript Trees Topics
πŸ•ΈοΈ PHP Graphs Topics
πŸ•ΈοΈ JavaScript Graphs Topics
#️⃣ PHP Hashing Topics
#️⃣ JavaScript Hashing Topics
🎯 All Questions β€” Quick Reference
#QuestionDiff Technique / PatternTimeSpace
── 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)
#QuestionDiff Technique / PatternTimeSpace
── 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)
#QuestionDiff Technique / PatternTimeSpace
── 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)
#QuestionDiff Technique / PatternTimeSpace
── 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)
#QuestionDiff Technique / PatternTimeSpace
── 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)
#QuestionDiff Technique / PatternTimeSpace
── 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)
#QuestionDiff Technique / PatternTimeSpace
── 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)
#QuestionDiff Technique / PatternTimeSpace
── 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)
#QuestionDiff Technique / PatternTimeSpace
── 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)
#QuestionDiff Technique / PatternTimeSpace
── 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)
#QuestionDiffTechnique / PatternTimeSpace
── 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)
#QuestionDiffTechnique / PatternTimeSpace
── 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)
#QuestionDiffTechnique / PatternTimeSpace
── 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Β²)
#QuestionDiffTechnique / PatternTimeSpace
── 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Β²)
#QuestionDiffTechnique / PatternTimeSpace
── 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)
#QuestionDiffTechnique / PatternTimeSpace
── 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)
⚑ Pattern Recognition Cheat Sheet

πŸ‘† 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]