See all coding puzzles and patterns here.
Data Structure Description
A divide and conquer algorithm solves a problem by breaking the problem down into smaller sub-problems and then combining the results.
Divide and conquer is distinct from dynamic programming because the result of one sub-problem is not dependent on the other.
DP generates solutions like this: $$ dp_i = dp_{i-1} + extra\_work $$
While divide and conquer generates solutions like this: $$ solution(problem) = combine(solution(sub\_problem1),\ solution(sub\_problem2, ...)) $$
Puzzles
Puzzle | Difficulty | External Link |
Largest Concatenated Number From Array | Medium | |
Letter Combinations of a Phone Number | Medium | Leetcode 17 |