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

西安网站维护推广唐山网页搜索排名提升

西安网站维护推广,唐山网页搜索排名提升,校园活动策划案的范文,上海公共招聘网怎么打不开本题可以看出也是背包问题,但区别于之前的01背包问题,这个是完全背包问题的变形形式。 下面介绍01背包和完全背包的区别与联系: 01背包是背包中的物品只能用一次,不可以重复使用,而完全背包则是可以重复使用。01/完全…

在这里插入图片描述
本题可以看出也是背包问题,但区别于之前的01背包问题,这个是完全背包问题的变形形式。

下面介绍01背包和完全背包的区别与联系:

  1. 01背包是背包中的物品只能用一次,不可以重复使用,而完全背包则是可以重复使用。
  2. 01/完全背包的递推公式(这里都是以一维数组的情况举例)是dp[j] = Math.max(dp[j],dp[j-weight[i]]+values[i])。
  3. 01背包的遍历顺序是先物品,再背包,并且背包遍历的时候是需要倒序遍历的,而完全背包则不需要,直接先物品再背包(背包需要正序),其实先背包再物品也可以,但为了方便记忆则和01保持一致。

而当在完全背包的变形形式,比如本题是要求组合数,组合是没有顺序的,只需要找出对应的元素就可以,所以递推公式是dp[j] += dp[j-nums[i]]。

所以本题中,我们可以想将背包中的硬币个数,不限制次数的选取,最后求凑成金额为amount的种类一共有多少种。

所以采用动态规划完全背包求组合情况

dp[j]表示背包容量为j的价值为dp[j]。
dp[j] += dp[j-nums[i]]
dp[0] = 1 (注意,这里必须是1,如果不是1的话没办法推出后面的数据,后面数据就都变成0了)。
遍历顺序应该先物品再背包,并且背包内层循环应该由小到大遍历。
打印

class Solution {public int change(int amount, int[] coins) {//递推表达式int[] dp = new int[amount + 1];//初始化dp数组,表示金额为0时只有一种情况,也就是什么都不装dp[0] = 1;for (int i = 0; i < coins.length; i++) {for (int j = coins[i]; j <= amount; j++) {dp[j] += dp[j - coins[i]];}}return dp[amount];}
}

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

http://www.yayakq.cn/news/195347/

相关文章:

  • 服饰网站模板企业网站服务器选择
  • 网站建设的流程范文1500字网站是做排行
  • 申请网站建设费网站建设案例公司
  • 学风建设网站版块泰州网站建设优化
  • 自学网站官网wordpress 无法在线升级
  • 网站优化排名工具电脑上怎样安装wordpress
  • 盗qq的钓鱼网站怎么做网站建设的目标及功能定位
  • 淘宝客怎么自己做网站中小企业网络营销的现状及对策研究
  • 网站制作公司 重庆合肥优化营商环境
  • 公司做网站的流程可以免费投放广告的平台
  • 一个网站建设哪家快中国建筑信息平台
  • 中国网站建设总部在哪里wordpress 百度平台
  • 展示照片的网站模板做视频网站都需要什么
  • 网站建设目标有哪几个方面免费注册域名的方法
  • 地图截选做分析图的网站个人免费网站建设模板
  • 建立主题网站的顺序免费的黄冈网站有哪些平台?
  • 福建平潭建设局网站怎么做网站链接
  • 长沙服务专业的建网站免费相册制作模板
  • 网站建设岗位叫什么甘肃建设厅网站首页
  • 网站宽度多少合适网站建设的类型有几种
  • 盛泽网站建设wordpress 评论id
  • 网页网站免费网站项目有需要什么技术支持
  • 网站建设公司包括哪些成华区建设局门户网站
  • 网站建设公司选哪家河南信阳网站建设公司电话
  • 做服装广告素材网站有哪些北京交通管制信息网站
  • 公司网站包含哪些内容网站开发分为几个方向
  • 网站建设上传视频wordpress图片盗链
  • 个人网站设计模板下载临淄关键词网站优化首选公司
  • 网站建设专家哪家强站长之家备案查询
  • 北京公司网站建设广州公司注册在线