Skip to content

Commit 58b9c1b

Browse files
committed
update 0139 Solution for Java
1 parent 21cb592 commit 58b9c1b

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
class Solution {
22
public boolean wordBreak(String s, List<String> wordDict) {
3-
int wordMaxLen = Integer.MIN_VALUE;
4-
for (String word : wordDict){
5-
wordMaxLen = Math.max(wordMaxLen, word.length());
3+
if (s == null || s.length() == 0) {
4+
return false;
65
}
7-
Set<String> wordSet = new HashSet<>(wordDict);
8-
int len = s.length();
9-
boolean[] dp = new boolean[len + 1];
6+
Set<String> words = new HashSet<>(wordDict);
7+
boolean[] dp = new boolean[s.length() + 1];
108
dp[0] = true;
11-
for(int i = 1; i <= len; i++){
12-
for(int l = 1; l <= wordMaxLen && i - l >= 0; l++){
13-
if(dp[i-l] && wordSet.contains(s.substring(i-l, i))){
14-
dp[i] = true;
9+
10+
for (int i = 1; i <= s.length(); i++) {
11+
for (int j = i - 1; j > -1; j--) {
12+
dp[i] = dp[j] && words.contains(s.substring(j, i));
13+
if (dp[i]) {
1514
break;
1615
}
1716
}
1817
}
19-
return dp[len];
18+
19+
return dp[s.length()];
2020
}
2121
}

0 commit comments

Comments
 (0)