pattern / MEDIUM
Build solutions incrementally and undo choices
complexity
time
Exponential (varies)
space
O(n) recursion depth
02' — visual
interactive
Maximum sum subarray
03'
mental
model.
Make a choice, recurse, undo the choice. Prune branches that violate constraints.
Backtracking explores all possible solutions by building them incrementally and abandoning paths that fail constraints.
when to use ✓
when not ✗
04'
Generate all combinations/permutations/subsets
Constraint satisfaction
Path enumeration
Sudoku, N-Queens
05'
1# Beginner: Fixed-size sliding window2def max_sum_k(nums, k):3 n = len(nums)4 if n < k:5 return 06 window_sum = sum(nums[:k])7 max_sum = window_sum8 for i in range(k, n):9 window_sum += nums[i] - nums[i - k]10 max_sum = max(max_sum, window_sum)11 return max_sum
common mistakes
interview tips
06'
8 curated problems from LeetCode
07'