Dynamic programmingLeetCode 139

Lesson 35 of 76

Word Break

Decide whether a string can be split into a sequence of dictionary words.

Watch on YouTube

Lesson notes

Try it before you watch

Restate the problem in your own words, list the edge cases, and sketch a solution with its running time. Then play the video and compare.

Reveal the key idea

dp[i] is true when some earlier split point j has dp[j] true and s[j:i] is a dictionary word. Store the words in a set for fast lookups.

Pattern: Dynamic programming. Define a state, write the recurrence between states, and compute each state only once.

Complexity

Cost of the standard optimal approach for Word Break
Measure Bound
Time O(n²) substring checks
Extra space O(n)

Walkthroughs often start from a simpler approach first; aim to reach these bounds. New to Big-O? Read understanding algorithmic complexity.