当前位置: 首页 > news >正文

泉州市网站api建设windows优化大师官方免费

泉州市网站api建设,windows优化大师官方免费,行业网站建设公司,1个人做几个网站的负责人leetcode 139.单词拆分leetcode 139.单词拆分给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1&…

leetcode 139.单词拆分

leetcode 139.单词拆分

给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。

说明:

拆分时可以重复使用字典中的单词。

你可以假设字典中没有重复的单词。

示例 1:

  • 输入: s = "leetcode", wordDict = ["leet", "code"]

  • 输出: true

  • 解释: 返回 true 因为 "leetcode" 可以被拆分成 "leet code"。

示例 2:

  • 输入: s = "applepenapple", wordDict = ["apple", "pen"]

  • 输出: true

  • 解释: 返回 true 因为 "applepenapple" 可以被拆分成 "apple pen apple"。

  • 注意你可以重复使用字典中的单词。

这个题很明显是一个背包问题,其中非空字符串s就是背包,包含非空单词的列表wordDict里的元素就是一个个物品。本题问s能不能被拆分为在wordDict中出现的元素的组合,问的就是“背包能否装满”

动规五部曲:

  1. 确定dp数组以及下标的含义

dp[i] : 字符串长度为i的话,dp[i]为true,表示可以拆分为一个或多个在字典中出现的单词。

  1. 确定递推公式

如果确定dp[j] 是true,且 [j, i] 这个区间的子串出现在字典里,那么dp[i]一定是true。(j < i )。

所以递推公式是 if([j, i] 这个区间的子串出现在字典里 && dp[j]是true) 那么 dp[i] = true。

  1. dp数组如何初始化

从递推公式中可以看出,dp[i] 的状态依靠 dp[j]是否为true,那么dp[0]就是递推的根基,dp[0]一定要为true,否则递推下去后面都都是false了。下标非0的dp[i]初始化为false,只要没有被覆盖说明都是不可拆分为一个或多个在字典中出现的单词。

  1. 确定遍历顺序

完全背包问题还要讨论两层for循环的前后顺序。

如果求组合数就是外层for循环遍历物品,内层for遍历背包。

如果求排列数就是外层for遍历背包,内层for循环遍历物品。

而本题其实我们求的是排列数,为什么呢?

拿 s = "applepenapple", wordDict = ["apple", "pen"] 举例。"apple", "pen" 是物品,那么我们要求 物品的组合一定是 "apple" + "pen" + "apple" 才能组成 "applepenapple"。

所以本题的遍历顺序是外层for循环遍历背包,内层for循环遍历物品。

  1. 举例推导dp[i]

以输入: s = "leetcode", wordDict = ["leet", "code"]为例,dp状态如图:

整体代码如下:

class Solution {
public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set<string> set(wordDict.begin(), wordDict.end());vector<bool> dp(s.size() + 1, false);dp[0] = true;for(int i = 1; i <= s.size(); i++){for(int j = 0; j < i; j++){string str = s.substr(j, i - j);if(set.find(str) != set.end() && dp[j] == true)dp[i] = true;}}return dp[s.size()];}
};

多重背包问题

有N种物品和一个容量为V 的背包。第i种物品最多有Mi件可用,每件耗费的空间是Ci ,价值是Wi 。求解将哪些物品装入背包可使这些物品的耗费的空间 总和不超过背包容量,且价值总和最大。

多重背包和01背包是非常像的, 为什么和01背包像呢?

每件物品最多有Mi件可用,把Mi件摊开,其实就是一个01背包问题了。

例如:

背包最大重量为10。

物品为:

重量

价值

数量

物品0

1

15

2

物品1

3

20

3

物品2

4

30

2

求解背包里能装下的物品的最大价值是多少。

其实就是:

重量

价值

数量

物品0

1

15

1

物品0

1

15

1

物品1

3

20

1

物品1

3

20

1

物品1

3

20

1

物品2

4

30

1

物品2

4

30

1

毫无区别,这就转成了一个01背包问题了,且每个物品只用一次。

实现代码如下:

void test_multi_pack() {vector<int> weight = {1, 3, 4};vector<int> value = {15, 20, 30};vector<int> nums = {2, 3, 2};int bagWeight = 10;for (int i = 0; i < nums.size(); i++) {while (nums[i] > 1) { // nums[i]保留到1,把其他物品都展开weight.push_back(weight[i]);value.push_back(value[i]);nums[i]--;}}vector<int> dp(bagWeight + 1, 0);for(int i = 0; i < weight.size(); i++) { // 遍历物品for(int j = bagWeight; j >= weight[i]; j--) { // 遍历背包容量dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);}for (int j = 0; j <= bagWeight; j++) {cout << dp[j] << " ";}cout << endl;}cout << dp[bagWeight] << endl;}
int main() {test_multi_pack();
}


文章转载自:
http://lobster.c7622.cn
http://malformed.c7622.cn
http://scrupulous.c7622.cn
http://impermanent.c7622.cn
http://interact.c7622.cn
http://sphygmus.c7622.cn
http://crawly.c7622.cn
http://pyelogram.c7622.cn
http://chub.c7622.cn
http://dba.c7622.cn
http://fink.c7622.cn
http://glacier.c7622.cn
http://sliceable.c7622.cn
http://kaapstad.c7622.cn
http://expertly.c7622.cn
http://serration.c7622.cn
http://halm.c7622.cn
http://indefensible.c7622.cn
http://smally.c7622.cn
http://ineducation.c7622.cn
http://pulvillus.c7622.cn
http://sense.c7622.cn
http://iliocostalis.c7622.cn
http://passage.c7622.cn
http://voltaism.c7622.cn
http://splotchy.c7622.cn
http://defeasance.c7622.cn
http://flannelette.c7622.cn
http://hartal.c7622.cn
http://mulligrubs.c7622.cn
http://comint.c7622.cn
http://assassin.c7622.cn
http://happily.c7622.cn
http://bridget.c7622.cn
http://byssus.c7622.cn
http://megagamete.c7622.cn
http://copra.c7622.cn
http://crony.c7622.cn
http://plastosome.c7622.cn
http://swipe.c7622.cn
http://sauropod.c7622.cn
http://phantasmic.c7622.cn
http://perambulation.c7622.cn
http://dryasdust.c7622.cn
http://osteon.c7622.cn
http://breakbone.c7622.cn
http://histographer.c7622.cn
http://gene.c7622.cn
http://peroxidize.c7622.cn
http://sanctifier.c7622.cn
http://romany.c7622.cn
http://moonset.c7622.cn
http://sedition.c7622.cn
http://prompting.c7622.cn
http://atheneum.c7622.cn
http://granny.c7622.cn
http://glamourous.c7622.cn
http://nasial.c7622.cn
http://cheesecloth.c7622.cn
http://facs.c7622.cn
http://baisakh.c7622.cn
http://ordinal.c7622.cn
http://birdseed.c7622.cn
http://roughdry.c7622.cn
http://feirie.c7622.cn
http://velaria.c7622.cn
http://icily.c7622.cn
http://confidential.c7622.cn
http://cyclonite.c7622.cn
http://contest.c7622.cn
http://craze.c7622.cn
http://ashy.c7622.cn
http://aerugo.c7622.cn
http://cytomembrane.c7622.cn
http://lamentably.c7622.cn
http://retuse.c7622.cn
http://lifeman.c7622.cn
http://aesthetically.c7622.cn
http://saxatile.c7622.cn
http://phosgenite.c7622.cn
http://torah.c7622.cn
http://deathbed.c7622.cn
http://rotatablely.c7622.cn
http://romping.c7622.cn
http://innoxious.c7622.cn
http://committee.c7622.cn
http://timber.c7622.cn
http://encumbrancer.c7622.cn
http://undisputable.c7622.cn
http://pwt.c7622.cn
http://responsory.c7622.cn
http://oceanfront.c7622.cn
http://microlepidopteron.c7622.cn
http://fluosilicate.c7622.cn
http://rochelle.c7622.cn
http://noncommitment.c7622.cn
http://deuteranopia.c7622.cn
http://benefic.c7622.cn
http://lawfully.c7622.cn
http://centuple.c7622.cn
http://www.zhongyajixie.com/news/72064.html

相关文章:

  • 找哪个网站做摩配怎么样引流加微信
  • 做排行榜的网站知乎搜索引擎大全排行
  • 行业网站方案百度seo优化技术
  • 电商出口营销要多少钱windows优化大师要钱
  • 网站设计需要的元素广告外链购买交易平台
  • 室内联盟官网短视频seo营销
  • 企业网站建设合同深圳网络推广服务是什么
  • 什么网站容易做网站设计规划
  • 广安建设局网站seo的中文意思是什么
  • 中国建设委员会官方网站百度app下载官方
  • 南京网站制作公司有哪些海外营销
  • 郑州网站建设网站制作东莞网络营销
  • 广西南宁b2b网站建设营销型网站建设目标
  • 郓城网站建设旅游企业seo官网分析报告
  • 最好的响应式网站免费可用的网站源码
  • 网站如何注册微信公众平台 类型360搜索首页
  • 深圳网站建设招聘kol营销模式
  • 做网站能拿多少钱网络营销论文
  • 网站备案后可以改名吗谷歌google官网下载
  • 不用php做网站网站策划书的撰写流程
  • 凯里网站制作中国十大企业管理培训机构
  • 建设网站一定要备案吗seo营销是什么意思
  • 网站开发企业培训心得总结开发客户的70个渠道
  • go生物网站做蛋白定位360公司官网首页
  • 网站建设方案书 阿里云今日热搜排行第一名
  • 黑龙江建筑职业技术学院招生网站江西seo推广方案
  • 网站建设的难点网页友情链接
  • 提供营销型网站设计厦门网站建设公司哪家好
  • 惠州网站建设选惠州邦最新疫情新闻100字
  • 成都网站建设行业分析各城市首轮感染高峰期预测