Leetcode_DP_Word Break
来源:互联网 发布:软件项目预算模板 编辑:程序博客网 时间:2024/04/27 19:59
Leetcode_Word Break
一、题目说明
这道题是给定一个字符串,要求是否能用空格分割开成词典中包含的字符串组合。
二、解题思路
这道题按照要求,我们发现要保证字符串中一个词被成功切出来,首先是前一个词被成功切出来。
所以我们想到用动态规划去解决这个问题。
我们用一个boolean型数组去记录每一个被成功切出来词的最后一个字符在字符串中位置。
当然初值就是默认为true。
递推式是 dp[i] = dp[j] && dict.contains(s.substring(j,i))
一旦满足递推式,即dp[i] = true; 就break循环。
三、java代码
public class Solution { public boolean wordBreak(String s, Set<String> wordDict) { boolean[] dp = new boolean[s.length()+1]; dp[0] = true; for(int i=1; i<=s.length(); i++) { for(int j=i-1; j>=0; j--) { if(dp[j] && wordDict.contains(s.substring(j,i))) { dp[i] = true; break; } } } return dp[s.length()]; }}
0 0
- Leetcode_DP_Word Break
- LeetCode_DP_Word Break II
- break
- break
- break
- break
- break
- break
- break
- break
- break
- break
- break
- break
- break; break;
- word-break: break-all;
- Word-break:break-word
- Word Break && Word Break ||
- Leetcode -- Maximum Subarray
- Spring boot Mybatis
- LeetCode之Count Primes
- 希尔排序算法
- 模拟短信发送按钮
- Leetcode_DP_Word Break
- Firefox is currently in offline mode and can't browse the Web
- html的表单
- 【自学基础】IDE(Integrated Development Enviroment)
- visio流程图软件
- 多线程、并发执行
- ubuntu 下java环境配置
- Android-本地方法C调用Java中的方法/NDK-JNI开发实例(六)
- 请教有关CCF考试方面的问题