LeetCode每日一题,139.Word Break
先看题目描述
大意就是判断能否用 wordDict 里的单词拼接出字符串 s
算法和思路
动态规划
我们定义 dp[i] 表示字符串 s 前 i 个字符组成的字符串 s[0..i-1 是否能被空格拆分成若干个字典中出现的单词
经分析可得到状态转移方程为: dp[i] = dp[j] && check(s[j…i - 1])
根据状态转移方程就可以实现算法源码,为了优化算法,可统计待选字符串中最长字符串的长度,以减少无用访问
算法源码
1 | import java.util.*; |