[Leetcode] Word Break (Java)

来源:互联网 发布:郑州七中分校知乎 编辑:程序博客网 时间:2024/03/29 15:20

Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.

For example, given
s = "leetcode",
dict = ["leet", "code"].

Return true because "leetcode" can be segmented as "leet code".

判断能不能被dict中单词拆分

已经长过见识了,DFS应该会超时,直接试DP

public class Solution {    public boolean wordBreak(String s, Set<String> dict) {                boolean[] dp = new boolean[s.length()];        for(int i=0;i<s.length();i++){if(dict.contains(s.subSequence(0, i+1)))dp[i]=true;}for(int j=1;j<s.length();j++){for(int k=0;k<j;k++){if(dp[k]&&dict.contains(s.subSequence(k+1, j+1))){dp[j]=true;break;}}}return dp[s.length()-1];    }}


0 0
原创粉丝点击