Search⌘ K
AI Features

Word Break

Explore how to determine if a string can be segmented into dictionary words using dynamic programming in C++. Understand the constraints and develop a solution that returns true if segmentation is possible, practicing your coding skills in an interactive environment.

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.

Examples

Understand the problem

Let’s take a moment to make sure you’ve correctly understood the problem. The quiz below helps you check if you’re solving the correct problem:

Technical Quiz
1.

Can the string “pineapplepenapple” be split into sequences separated by spaces using the following words from the dictionary?

[“apple”, “pen”, “applepen”, “pine”, “pineapple”]

A.

Yes

B.

No


1 / 3

Figure it out!

We have a game for you to play. Rearrange the logical building blocks to develop a clearer understanding of how to solve this problem.

Sequence - Vertical
Drag and drop the cards to rearrange them in the correct sequence.

1
2
3
4

Try it yourself

Implement your solution in the following coding playground.

C++
usercode > main.cpp
#include<unordered_set>
bool WordBreak(string s, vector<string>& wordDict)
{
// Replace this placeholder return statement with your code
return false;
}
Word Break