Leetcode|完全背包|139. 单词拆分

2021-09-18 16:43:31 浏览数 (1)

1 动态规划(完全背包)

基于问题本身,先背包后物品的顺序比较方便,也好理解

代码语言:javascript复制
class Solution {
public:
    bool wordBreak(string s, vector<string>& wordDict) {
        int bagSize = s.size();
        vector<bool> dp(bagSize   1, false);
        dp[0] = true;
        for (int j = 1; j <= bagSize; j  )               // 背包容量
            for (int i = 0; i < wordDict.size(); i  ) {  // 物品
                int dictLen = wordDict[i].size();
                if (j >= dictLen && wordDict[i] == s.substr(j - dictLen, dictLen))
                    dp[j] = dp[j] || dp[j - dictLen];
            }   
        return dp[bagSize];
    }
};

0 人点赞