leetcode Word Break

来源:互联网 发布:农产品配送软件 编辑:程序博客网 时间:2024/05/18 00:35

题目链接

动态规划

public class Solution {    Set<String> wordDict;    String s;    public boolean wordBreak(String s, Set<String> wordDict) {        this.wordDict=wordDict;        this.s=s;        boolean record[][]=new boolean [s.length()][s.length()];        for(int l=1;l<=s.length();l++)        {            for(int i=0;i<=s.length()-l;i++)            {                int endIndex=i+l-1;                for(int j=endIndex;j>=i;j--)                {                    if(contain(j, endIndex)&&(i>j-1||record[i][j-1]))                    {                        record[i][endIndex]=true;                        break;                    }                }            }        }        return record[0][s.length()-1];    }    public boolean contain(int start,int end)    {        return wordDict.contains(s.substring(start,end+1));    }}
0 0