[LeetCode]139. 单词拆分(java实现)动态规划
1. 题目
2. 读题(需要重点注意的东西)
思路(动态规划):
3. 解法
---------------------------------------------------解法---------------------------------------------------:
class Solution {
public boolean wordBreak(String s, List<String> wordDict) {
HashSet<String> set = new HashSet<String>();
int n = s.length();
boolean[] f = new boolean[n + 1];
s = " " + s;
for(String t : wordDict) set.add(t);
f[0] = true;
for(int i = 1;i <= n;i++)
for(int k = 1;k <= i;k++){
String t = s.substring(k,i+1);
if(set.contains(t)) f[i] |= f[k-1];
}
return f[n];
}
}
可能存在的问题:
4. 可能有帮助的前置习题
5. 所用到的数据结构与算法思想
- 动态规划