代码随想录算法训练营第四十天|leetcode139题

一、leetcode第139题

本题是完全背包问题,由于可以重复使用,因此需要先遍历背包再遍历物品,dp[i]的含义是在长度为i处能否从数组中找到元素组成。

具体代码如下:

cpp 复制代码
class Solution {
public:
    bool wordBreak(string s, vector<string>& wordDict) {
    vector<bool>dp(s.length()+1,false);
    unordered_set<string>wordset(wordDict.begin(),wordDict.end());
    dp[0]=true;
    for(int i=1;i<=s.length();i++)
    {
        for(int j=0;j<i;j++)
        {
            string word=s.substr(j,i-j);
            if(wordset.find(word)!=wordset.end()&&dp[j]==true)
            {
                dp[i]=true;
            }
        }
    }
    return dp[s.length()];
    }
};
相关推荐
长安er11 分钟前
LeetCode 83/237/82 链表删除问题-盒子模型
数据结构·算法·leetcode·链表·力扣
小虎牙00733 分钟前
RSA 的核心原理
算法
重生之后端学习35 分钟前
56. 合并区间
java·数据结构·后端·算法·leetcode·职场和发展
历程里程碑1 小时前
C++ 5:模板初阶
c语言·开发语言·数据结构·c++·算法
leoufung1 小时前
LeetCode 74. Search a 2D Matrix
数据结构·算法·leetcode
Kiri霧1 小时前
Go数据类型介绍
java·算法·golang
Mxsoft6192 小时前
AR远程定位偏差救场!某次现场故障,SLAM算法精准对齐设备模型!
算法·ar
Hello娃的2 小时前
【量子力学】Hohenberg-Kohn 定理
人工智能·算法
老马啸西风2 小时前
成熟企业级技术平台 MVE-010-IGA(Identity Governance & Administration,身份治理与管理)平台
人工智能·深度学习·算法·职场和发展