天天看點

給定一個字元串s和一組單詞dict,判斷s是否可以用空格分割成一個單詞序列,使得單詞序列中所有的單詞都是dict中的單詞(序列可以包含一個或多個單詞)。

例如:

給定s=“leetcode”;

dict=["leet", "code"].

傳回true,因為"leetcode"可以被分割成"leet code".

import java.util.Set;
public class Solution {
    public boolean wordBreak(String s, Set<String> dict) {
        boolean[] f = new boolean[s.length()+1];
        f[0] = true;
        for(int i = 1;i<=s.length();i++){
            for(int j = 0;j<i;j++){
                if(f[j]&&dict.contains(s.substring(j,i))){
                    f[i] = true;//變成下一次循環的f[j],巧妙的避免了spelload這種情況
                    break;
                }
            }
        }
        return f[s.length()];
    }
}