动态规划:
题目描述:
给定一个字符串s和一组单词dict,判断s是否可以用空格分割成一个单词序列,使得单词序列中所有的单词都是dict中的单词(序列可以包含一个或多个单词)。
例如:
给定s=“leetcode”;
dict=[“leet”, “code”].
返回true,因为"leetcode"可以被分割成"leet code".
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".
输入描述:
输出描述:
示例1:
输入:
输出:
代码:
import java.util.*;
public class Solution {
public boolean wordBreak(String s, Set<String> dict) {
int i,j;
boolean array[]=new boolean[s.length()+1];//此处的Array大小
array[0]=true;//此处的初始化
for(i=1;i<array.length;i++) {
for(j=0;j<i;j++) {
if(array[j]&&dict.contains(s.substring(j, i))) {
array[i]=true;//此处的SubString
break;
}
}
}
return array[array.length-1];//此处的返回值
}
}