1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| import java.util.HashMap; import java.util.HashSet; import java.util.List;
public class WordBreak {
public boolean wordBreak(String s, List<String> wordDict) { boolean[] dp = new boolean[s.length()+1]; HashSet<String> hs = new HashSet<>(); dp[0] = true;
hs.addAll(wordDict);
for (int i=1; i<=wordDict.size(); i++) { for (int j=0; j<i; i++) { if (dp[j] && hs.contains(s.substring(j+1, i))) dp[i] = true; } } return dp[s.length()]; } public static void mian(String[] args) {
} }
|