Solution: Word Break

Let's solve the Word Break problem using the Dynamic Programming pattern.

Statement

Given a string, s, and a dictionary of strings, wordDict, check if s can be segmented into a space-separated sequence of one or more dictionary words. If yes, return TRUE; else, return FALSE.

Note: The same word in the dictionary may be used multiple times.

Constraints:

  • 11 \leq s.length 250\leq 250

  • 11 \leq wordDict.length 1000\leq 1000

  • 11 \leq wordDict[i].length 20\leq 20

  • s and wordDict[i] consist of only lowercase English letters.

  • All the strings of wordDict are unique.

Solution

So far, you’ve probably brainstormed some approaches and have an idea of how to solve this problem. Let’s explore some of these approaches and figure out which one to follow ...