DSA Cheat Sheet - MAANG version
📱
by Arink Verma – Software Engineer @ Google
Follow @TechieMoments for more coding wisdom!
🎯 Under 10 minutes per question
To help you crack coding interviews at top tech companies like Meta, Amazon, Apple, Netflix,
and Google (MAANG) using a structured, pattern-based approach. Learn to recognize problem
types instantly, apply the right technique, and solve confidently—all under 10 minutes per
question.
🧠 Solve Any DSA Problem in 10 Minutes with Intuition
The DIVE Framework
Use the D.I.V.E. framework to build intuition and approach any DSA problem before jumping into
code:
● Decode the question — Rephrase it in your own words
● Identify the pattern — Map it to a known technique
● Validate complexity — Ensure the approach is efficient
● Execute a dry run — Simulate the logic by hand
🧩 DSA Problem-Solving Patterns (Intuition Clues)
Pattern How to Identify Common Problems
Subarray with fixed/variable size, Max sum subarray, Longest
Sliding Window
range-based ops substring without repeats
Sorted arrays/lists, finding 2Sum (sorted), Remove
Two Pointers
pairs/triplets duplicates, Palindrome check
Detect cycle, Find middle,
Fast & Slow Pointers Cycles, mid-points, infinite loops
Happy number
Merge intervals, Meeting rooms,
Merge Intervals Overlapping intervals, schedules
Insert interval
Values in range 1 to n, unsorted Missing number, Duplicate
Cyclic Sort
but constrained number, First k missing
Reverse sublist, Rotate array,
In-place Reversal Partial reversal of array or list
Reverse words
Tree Traversal Level order, Zigzag, Subtree
Tree or graph traversal
(DFS/BFS) check
“All combinations” / “All N-Queens, Sudoku, Subsets,
Backtracking
permutations” Word Search
Dynamic Optimal substructure,
Knapsack, LCS, House Robber
Programming (DP) overlapping subproblems
Directed Acyclic Graph (DAG), Course schedule, Alien
Topological Sort
dependency resolution dictionary
Activity selection, Jump game,
Greedy Local optimal = global optimal
Gas station
Sorted input or answer range, log Koko eating bananas, Rotated
Binary Search
time solutions array search
Subarray sum equals K, Range
Prefix Sum Subarray sum/range queries
sum, Max average
Disjoint sets, components, cycle Number of islands II, Kruskal’s
Union Find
detection algorithm, Account merge
K largest/smallest, frequent Top K elements, Median from
Heap / Priority Queue
elements stream, Kth largest
Word/prefix matching, Implement Trie, Word
Trie (Prefix Tree)
autocomplete Dictionary, Replace words
XOR, setting/unsetting bits, bit Single Number, Power of 2,
Bit Manipulation
tricks Bitwise AND Range
Monotonic Next greater/smaller element, Stock span, Largest rectangle,
Stack/Queue histogram problems Daily temperatures
Graph Traversal Shortest paths, grid/graph Rotten oranges, Word ladder,
(DFS/BFS) navigation Maze traversal
Segment/Interval Multiple range queries with Range min query, Lazy
Trees updates propagation
✅ How to Apply These in Practice
Ask yourself:
● Does it involve a range in an array? → Try Sliding Window or Prefix Sum
● Are there overlapping subproblems? → Use Dynamic Programming
● Is it about generating combinations/permutations? → Go with Backtracking
● Is the input sorted or sortable? → Think Two Pointers, Binary Search, or Greedy
● Is it tree/graph-based? → Use DFS, BFS, Topological Sort, or Union Find
● Are operations frequency-based? → Consider Hash Maps, Heaps, or Counting
techniques
🔥 Want More Like This?
📲 Follow @TechieMoments
I share coding strategies, Google interview tips, and career hacks to level up your tech journey.
Let’s crack DSA — not just by solving problems, but by building real intuition.
DSA Pattern Tree
by Engineer
follow at @techiemoments