Arrays & Strings Complete — 100-Problem Master Cheatsheet

Sanjeev SharmaSanjeev Sharma
6 min read

Advertisement

Arrays & Strings — 100 Problems Complete! 🎉

Congratulations on finishing all 100 Arrays & Strings problems! This cheatsheet consolidates the key patterns so you can review quickly before interviews.


Pattern Map

Two Pointers

ProblemPatternTime
Two Sum (sorted)Inward pointersO(n)
Container with Most WaterShrink shorter sideO(n)
Trapping Rain WaterTrack left/right maxO(n)
3Sum / 4SumFix outer, two pointer innerO(n²)
Merge Sorted Array3-pointer from endO(m+n)

Sliding Window

ProblemPatternTime
Longest Substring Without RepeatingShrinkable + setO(n)
Min Size Subarray SumShrinkableO(n)
Max Consecutive Ones IIICount zerosO(n)
Sliding Window MaximumMonotonic dequeO(n)
Minimum Window Substringhave/need counterO(n)
Subarrays with K DistinctatMost(k)-atMost(k-1)O(n)

Prefix Sum

ProblemPatternTime
Subarray Sum Equals Kprefix+hashmapO(n)
Shortest Subarray Sum≥Kdeque on prefixO(n)
Count of Range Summerge sort on prefixO(n log n)
Running SumcumulativeO(n)
ProblemPatternTime
Search in Rotated Arrayidentify sorted halfO(log n)
Find Minimum in Rotatedbinary search pivotO(log n)
Median of Two Sorted Arrayspartition searchO(log min(m,n))
Split Array Largest Sumbinary search on answerO(n log S)
Find Peak Elementslope directionO(log n)

Sorting / Greedy

ProblemPatternTime
Sort ColorsDutch National FlagO(n)
Merge Intervalssort by startO(n log n)
Non-overlapping Intervalssort by endO(n log n)
Partition Labelslast occurrenceO(n)
Gas Stationrunning tank resetO(n)
Jump Game IIBFS levelsO(n)
Task Schedulerfrequency formulaO(n)
Candytwo-pass greedyO(n)

Stack / Monotonic Stack

ProblemPatternTime
Daily Temperaturesmono-decreasing stackO(n)
Largest Rectangle Histogrammono-increasing stackO(n)
Maximal Rectanglehistogram per rowO(m×n)
Longest Valid Parenthesesbase-tracking stackO(n)
Decode String(count,str) stackO(n)
Max Frequency Stackfreq + group stacksO(1) per op

Backtracking

ProblemPatternTime
Combination Sumpick-with-reuseO(n^(T/m))
Permutationsswap DFSO(n!n)
Subsetspick/skipO(2^n × n)
Word Search4-dir DFS + restoreO(m×n×4^L)

In-Place / Math

ProblemPatternTime
Next Permutationright-scan + suffix reverseO(n)
Find Duplicate (Floyd)cycle detectionO(n)
First Missing Positivecyclic sortO(n)
Single NumberXORO(n)
Missing NumberGauss sumO(n)
Find All Duplicatesindex-negationO(n)
Move Zeroeswrite pointerO(n)

Divide & Conquer

ProblemPatternTime
Count Smaller After Selfmerge sort + trackingO(n log n)
Reverse Pairsmerge sort cross-countO(n log n)
Maximum Subarraydivide & conquerO(n log n)

Big O Quick Reference

O(1)        → XOR, Gauss sum, Boyer-Moore, Freq-Stack ops
O(log n)    → Binary search variants
O(n)        → Two pointers, Sliding window, Monotonic stack, Prefix sum
O(n log n)  → Sort-based, Merge sort variants, Binary search + check
O(n²)       → 3Sum, 4Sum, Word Search (worst), Brute force
O(2^n × n)  → Backtracking (Subsets, Permutations)

MAANG Problem Priority

Google: Trapping Rain Water, Median Two Sorted Arrays, Sliding Window Max, Longest Consecutive, Partition Labels, Max Points on Line

Amazon: Two Sum, Sliding Window, Merge Intervals, Jump Game, Subarray Sum K, First Missing Positive, Word Search

Meta/Facebook: 3Sum, Median Two Arrays, Minimum Window Substring, Max Consecutive Ones

Microsoft: Sort Colors, Next Permutation, Find Duplicate, Daily Temperatures

Apple: Combination Sum, Subsets, Permutations, Combination Sum II


Study Schedule Recommendation

  • Week 1-2: Easy problems (1-25) — build intuition
  • Week 3-5: Medium problems (26-75) — core patterns
  • Week 6-8: Hard problems (76-100) — advanced techniques
  • Week 9+: Mock interviews, company-specific problems

Good luck with your interviews!


Key Takeaways

  • Arrays and strings problems decompose into ~12 core patterns: two-pointer, sliding window, prefix sum, sorting, binary search on answer, monotonic stack/deque, merge sort inversion counting, index marking, divide and conquer, greedy with heap, backtracking, and DP.
  • The sliding window family splits into fixed-size (use deque for max/min) and variable-size (use formed counter or frequency map); the "exactly k" variant always uses atMost(k) - atMost(k-1).
  • Monotonic stack reveals left/right boundaries on pop; monotonic deque maintains a running max/min in O(1) per element — these unlock Largest Rectangle, Trapping Rain Water, Sliding Window Maximum, and Jump Game VI.
  • "Binary search on the answer" applies whenever the answer is in a bounded range and the feasibility function is monotone — look for "minimize the maximum" or "maximize the minimum" trigger phrases.
  • Merge sort inversion counting (LC 315, 493, 327) counts cross-half pairs in O(n) per level; always separate the count pass from the merge pass for non-standard conditions.
  • Index marking (LC 41, 448, 442) uses sign negation or cyclic sort to turn the array itself into a presence map when O(1) space is required.
  • MAANG priority: Google favors hard geometric and DP problems; Amazon favors sliding window and greedy; Meta favors two-pointer and divide and conquer; Microsoft and Apple favor backtracking and sorting.

Advertisement

Sanjeev Sharma

Written by

Sanjeev Sharma

Full Stack Engineer · E-mopro

Related reading