WRITING
Notes on building and running systems
Engineering write-ups — architecture, security, and the occasional war story.
#combinatorics · All writing
Series
Tags
- #leetcode 50
- #dfs 18
- #recursion 17
- #bfs 11
- #trees 11
- #backtracking 9
- #array 7
- #dynamic-programming 7
- #graphs 7
- #hash-map 7
- #linked-list 7
- #design 5
- #greedy 5
- #heap-priority-queue 5
- #matrix 5
- #string 5
- #two-pointers 5
- #binary-tree 4
- #cycle-detection 4
- #dp 4
- #sorting 4
- #stack 4
- #binary-search 3
- #divide-and-conquer 3
- #hash-table 3
- #priority-queue 3
- #binary-search-tree 2
- #data-structures 2
- #hard 2
- #heap 2
- #math 2
- #memoization 2
- #monotonic-stack 2
- #simulation 2
- #topological-sort 2
- #arrays-hashing 1
- #combinatorics 1
- #constraint-satisfaction 1
- #constraint-validation 1
- #counting 1
- #data-stream 1
- #depth-first-search 1
- #feasibility 1
- #flood-fill 1
- #geometry 1
- #hash-set 1
- #in-place 1
- #kadane 1
- #level-order 1
- #monotonic 1
- #optimization 1
- #palindrome 1
- #post-order 1
- #quickselect 1
- #sliding-window 1
- #string-matching 1
- #strings 1
- #two-pass 1
- #two-stacks 1
- #union-find 1
01
Generate Parentheses: why brute force generates a million failures to find five answers
LeetCode 22 asks you to enumerate every well-formed parenthesis string for n pairs. The brute-force route — generate all permutations, filter the valid ones — has factorial cost. Backtracking flips the question: build only strings that can still become valid, pruning every dead branch before it grows. The constraint n <= 8 makes this fast enough to not care about the difference on any real input, but the reasoning that gets you from one to the other is the entire point.Jun 14, 2026 · 12 min read · #00057
Occasional notes on what I'm building
Get an email when I publish a new post — engineering write-ups, no spam. Unsubscribe anytime.