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

义乌网站建设zisou8wordpress中运行程序

义乌网站建设zisou8,wordpress中运行程序,手机版网站公司的,做flash音乐网站的开题报告文章目录前言一、零钱兑换II#xff08;力扣518#xff09;二、组合总和 Ⅳ#xff08;力扣377#xff09;三、零钱兑换#xff08;力扣322#xff09;总结前言 1、零钱兑换II 2、组合总和 Ⅳ 3、零钱兑换 一、零钱兑换II#xff08;力扣518#xff09; 给你一个整数… 文章目录前言一、零钱兑换II力扣518二、组合总和 Ⅳ力扣377三、零钱兑换力扣322总结前言 1、零钱兑换II 2、组合总和 Ⅳ 3、零钱兑换 一、零钱兑换II力扣518 给你一个整数数组 coins 表示不同面额的硬币另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额返回 0 。 假设每一种面额的硬币有无限个。 类似与之前的目标和问题01背包求有多少种组合方式 目标和 分析 题目描述中是凑成总金额的硬币组合数为什么强调是组合数呢 例如示例一 5 2 2 1 5 2 1 2 这是一种组合都是 2 2 1。 如果问的是排列数那么上面就是两种排列了。 组合不强调元素之间的顺序排列强调元素之间的顺序 每个硬币可以重复使用完全背包问题 整数amount 相当于完全背包问题中的背包容量 组合数不强调元素之间的顺序 动规五部曲 1、确定dp数组以及下标的含义 dp[j] 表示总金额为j时有dp[j]种方式 2、确定递推公式 dp[j] dp[j - coins[i]]; 3、dp数组如何初始化 dp[0]一定是1,因为dp[0]是在公式中一切递推结果的起源如果dp[0]是0的话递推结果将都是0。 4、确定遍历顺序 外层for循环遍历物品钱币内层for遍历背包金钱总额组合数 是否可以颠倒 不可以 外层for遍历背包金钱总额内层for循环遍历物品钱币 排列数 class Solution {public int change(int amount, int[] coins) {int[] dp new int[amount1];//初始化 类似于目标和问题dp[0]1;for(int i 0; icoins.length;i){for(int jcoins[i];jamount;j){dp[j] dp[j-coins[i]];}}return dp[amount];} }二、组合总和 Ⅳ力扣377 给你一个由 不同 整数组成的数组 nums 和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 分析 元素可以重复使用 -- 完全背包问题 求排列数 --遍历顺序 外层循环背包容量 内层循环元素个数 class Solution {public int combinationSum4(int[] nums, int target) {int[] dp new int[target1];dp[0]1;for(int j0;jtarget;j){for(int i 0;inums.length;i){if(j-nums[i]0){dp[j] dp[j-nums[i]]; }}} return dp[target];} }三、零钱兑换力扣322 给你一个整数数组 coins 表示不同面额的硬币以及一个整数 amount 表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额返回 -1 。 你可以认为每种硬币的数量是无限的。 分析 每种硬币的数量是无限的可以看出是典型的完全背包问题。 1、确定dp数组以及下标的含义 dp[j]凑足总额为j所需钱币的最少个数为dp[j] 2、确定递推公式 凑足总额为j - coins[i]的最少个数为dp[j - coins[i]]那么只需要加上一个钱币coins[i]即dp[j - coins[i]] 1就是dp[j] dp[j] Math.min(dp[j], dp[j-coins[j]]1) 3、dp数组初始化 在测试用例中可以发现 dp[0] 0; 考虑到递推公式的特性dp[j]必须初始化为一个最大的数否则就会在min(dp[j - coins[i]] 1, dp[j])比较的过程中被初始值覆盖。 所以下标非0的元素都是应该是最大值。 4、确定遍历顺序 本题求钱币最小个数那么钱币有顺序和没有顺序都可以都不影响钱币的最小个数。 所以本题并不强调集合是组合还是排列。 class Solution {public int coinChange(int[] coins, int amount) {int[] dp new int[amount1];int max Integer.MAX_VALUE;//初始化为最大值for(int i0;idp.length;i){dp[i] max;}dp[0] 0;//遍历for(int i0;icoins.length;i){for(int jcoins[i];jamount;j){if(dp[j-coins[i]]!max){dp[j] Math.min(dp[j],dp[j-coins[i]]1);}}}return dp[amount] max? -1:dp[amount];} }总结 如果求组合数就是外层for循环遍历物品内层for遍历背包。 如果求排列数就是外层for遍历背包内层for循环遍历物品
http://www.dnsts.com.cn/news/97947.html

相关文章:

  • 大连金普新区城乡建设局网站网站是否上线
  • 用jsp做网站的技术路线网站seo分析
  • c 做视频网站400电话实名制认证网站
  • 网站的头尾和导航的公用文件打代码做网站的软件
  • 如何做网站logo 设置平滑聚名网怎么样
  • 莒县建设局官方网站cms网站源码
  • wordpress的安装过程爱站seo
  • readme.md做网站自动跳转到wap网站
  • 国外比较好的资源网站外国黄冈网站推广平台
  • 网站开发方式有哪些揭阳网站制作机构
  • 网站域名最便宜这些奥运新闻得了中国新闻奖
  • wordpress 视频网站网站集约化建设 要求
  • 网站建设方案范文8篇网站开发客户
  • 群晖ds1817做网站小程序api抓取
  • 网站建设厘金手指排名十九wordpress sensei插件
  • 企业门户网站设计建设与维护如何挖掘和布局网站关键词
  • 龙华网站建设的软件竞价培训课程
  • 手机网站 怎么开发wordpress 文章图片
  • 怎样推广自己做的网站wordpress主题演示数据库
  • 广州网站建设易得建设网校
  • 中文域名转码网站成都网站建设与维护
  • 网站规划模板广州建设工程领域平台登录
  • 厦门网站建设 首选猴子网络寻甸马铃薯建设网站
  • 网站上的动效是用ae做的制作网站制作公司
  • 上海今天新闻发布会直播电商网站商品页的优化目标是什么
  • 请专业做网站的老师网站审核时间
  • 制造业公司有必要建设网站吗网站建设项目成本估算表
  • 破解进入网站后台外贸订单怎么找
  • 模板网站大全绍兴网站建设企业
  • 自己怎么做优惠券网站引流推广营销