139. Word Break
Last updated
Last updated
/**
* Time complexity :
* Space complexity :
*/
class Solution {
public boolean wordBreak(String s, List<String> wordDict) {
int sLen = s.length();
int[] pos = new int[sLen+1];
Arrays.fill(pos, -1);
pos[0] = 0;
for(int i = 0; i < sLen; i++) {
if(pos[i] != -1) {
for(int j = i+1; j <= sLen; j++) {
String str = s.substring(i, j);
if(wordDict.contains(str)) {
pos[j] = i;
}
}
}
}
return pos[sLen] != -1;
}
}/**
* Time complexity :
* Space complexity :
*/
class Solution {
public boolean wordBreak(String s, List<String> wordDict) {
if(s.length() > 100) return false;
for(String word: wordDict) {
if(s.startsWith(word) &&
(s.equals(word) ||
wordBreak(s.substring(word.length()), wordDict))) {
return true;
}
}
return false;
}
}