单词拆分
力扣题目链接
dp数组含义:字符串长度为i,dp[i] 为true or false
递推公式:dp[i]= Boolean(i-j ) && dp[j] 。字符串下标区间为i-j 是否为 字典中的值。
初始化:dp[0]=true(递推起点),非零下标初始为false
遍历顺序:
先背包,后物品。(因为是有顺序的,字典中的值需要按照顺序拼成所需字符串)
var wordBreak = function(s, wordDict) {
let dp=new Array(s.length+1).fill(false)
dp[0]=true
for(let i=0;i<=s.length;i++){
for(let j=0; j<wordDict.length;j++){
if(i >= wordDict[j].length) {
if(s.slice(i-wordDict[j].length,i)=== wordDict[j] && dp[i - wordDict[j]. length]){
dp[i]=true
}
}
}
}
return dp[s.length]
};