当前位置:   article > 正文

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

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

一、leetcode第139题

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

具体代码如下:

  1. class Solution {
  2. public:
  3. bool wordBreak(string s, vector<string>& wordDict) {
  4. vector<bool>dp(s.length()+1,false);
  5. unordered_set<string>wordset(wordDict.begin(),wordDict.end());
  6. dp[0]=true;
  7. for(int i=1;i<=s.length();i++)
  8. {
  9. for(int j=0;j<i;j++)
  10. {
  11. string word=s.substr(j,i-j);
  12. if(wordset.find(word)!=wordset.end()&&dp[j]==true)
  13. {
  14. dp[i]=true;
  15. }
  16. }
  17. }
  18. return dp[s.length()];
  19. }
  20. };

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/383732
推荐阅读
相关标签
  

闽ICP备14008679号