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

php做网站需要的技术电子商务网站建设最好的公司

php做网站需要的技术,电子商务网站建设最好的公司,坑梓做网站公司怎么样,昵图网素材图库免费下载518. 零钱兑换 II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 3…

518. 零钱兑换 II

给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。

请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0

假设每一种面额的硬币有无限个。

题目数据保证结果符合 32 位带符号整数。

示例 1:

输入:amount = 5, coins = [1, 2, 5]
输出:4
解释:有四种方式可以凑成总金额:
5=5
5=2+2+1
5=2+1+1+1
5=1+1+1+1+1

示例 2:

输入:amount = 3, coins = [2]
输出:0
解释:只用面额 2 的硬币不能凑成总金额 3 。

示例 3:

输入:amount = 10, coins = [10]
输出:1

提示:

  • 1 <= coins.length <= 300
  • 1 <= coins[i] <= 5000
  • coins 中的所有值 互不相同
  • 0 <= amount <= 5000

思路:

此问题属于 0-1背包 的 完全背包 ,解法和 0-1背包类似:

0 - 1背包问题(万能统一代码)

定义一个二维数组dp 存储硬币组合数,其中 dp[i][j] 表示前 i 个硬币 可以凑成总金额 为 j 的 硬币组合数

  • 每种硬币的数量是无限的,所以可以重复使用
  • 状态转移方程为:
    dp[i][j]=dp[i−1][j]+dp[i][j−coins[i]]dp[i][j] = dp[i - 1][j] + dp[i][j - coins[i]]dp[i][j]=dp[i1][j]+dp[i][jcoins[i]]

示例1 的dp二维数组为:

在这里插入图片描述

观察前 i 个硬币的状态仅与前 i -1 个硬币的状态有关,因此可以优化,将 dp 定义为一维数组,其中 dp[j] 既可以表示 dp[i-1][j] 也可以表示 dp[i ][j - coins[i]]:状态转移方程为:
dp[j]+=dp[j−coins[i]]dp[j] += dp[j - coins[i]]dp[j]+=dp[jcoins[i]]

代码:(Java)

public class Change {public static void main(String[] args) {// TODO Auto-generated method stubint[] coins = {1, 2, 5};int amount = 5;System.out.println(change(amount, coins));}public static int change(int amount, int[] coins) {int[] dp = new int[amount + 1];dp[0] = 1;for(int coin : coins) {for(int i = coin; i <= amount; i++) {dp[i] += dp[i - coin];}}return dp[amount];}
}

运行结果:

在这里插入图片描述

复杂度分析:

  • 时间复杂度O(len∗amount)O(len * amount)O(lenamount), lenlenlen 为数组 coinscoinscoins 的长度,amountamountamount 为要凑成的总金额。
  • 空间复杂度O(amount)O(amount)O(amount) ,需要开辟一个一维数组 dp , 长度为amount+1amount + 1amount+1amountamountamount 为要凑成的总金额。

322. 零钱兑换 I

注:仅供学习参考 如有不足,欢迎指正!

题目来源:力扣。

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

相关文章:

  • 网站推广优势天下网商自助建站系统
  • 我本沉默传奇新开网站做PPT的辅助网站
  • asp.net网站开发工程师(c做网站用虚拟主机好吗
  • 免费看电视的网站wordpress用户权限在哪改
  • xml天气预报网站怎么做wordpress include
  • 自己动手建设网站国内做卷学习网站
  • 怎么创建免费网站wordpress去重插件
  • 带数字 网站 域名郑州小程序开发报价
  • 电商网站设计与制作总结网站建设的公司哪家是上市公司
  • 有什么网站可以做电子河北住房和城乡建设网站
  • 资源网站优化排名软件公司接做网站的
  • 自己电脑做网站要下载建设工程查询扣分网站
  • 大型网站开发框架有哪些在网上做试卷的网站
  • 资深网站开发者账号注册流程
  • 企业展示网站建设多少钱网站建设的公司开发
  • 怎么申请域名 制作网站长沙公司网站高端网站建设
  • 网站需求分析的重要网站平台代理
  • 企业网站建设文章网站开发 华景新城
  • 外贸网站怎么规划网络求职做阿姨哪个网站好
  • 网站流量共享公司起名大全2020最新版的
  • js网页制作代码大全网络推广关键词优化公司
  • 无锡市建设培训中心网站程序员培训机构有哪些
  • 旅游网站制作方案南昌是哪个省
  • 打造网站品牌网站用表格做的吗
  • 模板建站符合哪些工作需求?常州网站制作报价
  • 沧州网站建设制作设计优化网站平台构建
  • 伊春建设银行网站微信h5页面制作免费软件
  • 餐饮网站开发毕业设计网站的后台怎么做
  • 网站建设行业导航站点电商网站建设网
  • 龙岗区住房和建设局网站软件发布网