代码随想录算法训练营第四十天|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()];
    }
};
相关推荐
wadesir2 小时前
C语言模块化设计入门指南(从零开始构建清晰可维护的C程序)
c语言·开发语言·算法
t198751282 小时前
MATLAB水声信道仿真程序
开发语言·算法·matlab
CoderYanger4 小时前
动态规划算法-简单多状态dp问题:15.买卖股票的最佳时机含冷冻期
开发语言·算法·leetcode·动态规划·1024程序员节
Xの哲學4 小时前
Linux RTC深度剖析:从硬件原理到驱动实践
linux·服务器·算法·架构·边缘计算
狐574 小时前
2025-12-04-牛客刷题笔记-25_12-4-质数统计
笔记·算法
小O的算法实验室4 小时前
2024年IEEE IOTJ SCI2区TOP,基于混合算法的水下物联网多AUV未知环境全覆盖搜索方法,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
洲星河ZXH4 小时前
Java,比较器
java·开发语言·算法
CoderYanger4 小时前
递归、搜索与回溯-FloodFill:33.太平洋大西洋水流问题
java·算法·leetcode·1024程序员节
CodeByV5 小时前
【算法题】双指针(二)
数据结构·算法