代码随想录算法训练营第四十天|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()];
    }
};
相关推荐
是店小二呀8 分钟前
【优选算法 | 栈】深入栈模拟题:从题型特征到实现技巧
c++·算法
Tiny番茄20 分钟前
LeetCode 93.复原IP地址 LeetCode 78.子集 LeetCode 90.子集II
算法·leetcode·职场和发展
SylviaW0822 分钟前
python-leetcode 69.最小栈
数据结构·算法·leetcode
飞川撸码23 分钟前
【LeetCode 热题100】搜索旋转排序数组(力扣33 / 81/ 153/154)(Go语言版)
数据结构·算法·leetcode·golang
知识漫步1 小时前
代码随想录算法训练营第60期第四十二天打卡
算法
叒卮1 小时前
小白编程学习之巧解「消失的数字」
数据结构·学习·算法
噜噜噜噜鲁先森1 小时前
MVDR源码(可直接运行)
算法·matlab·信号处理·阵列信号处理·声源定位算法
felix_fang_xin2 小时前
FIR数字滤波器设计与实现
人工智能·算法
一匹电信狗2 小时前
【数据结构】队列的完整实现
c语言·数据结构·c++·算法·leetcode·排序算法·visual studio