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

网站建设 手机和pc建站工具搭建网站

网站建设 手机和pc,建站工具搭建网站,太原建站推广,做企业平台的网站原题链接 文章目录 需要添加的硬币的最小数量#xff1a;贪心算法实现题目概述示例分析 关键思路分析贪心算法的优化选择证明案例推演与算法实现 Python 实现结论 需要添加的硬币的最小数量#xff1a;贪心算法实现 题目概述 在这个困难难度的算法题中#xff0c;我们要解… 原题链接 文章目录 需要添加的硬币的最小数量贪心算法实现题目概述示例分析 关键思路分析贪心算法的优化选择证明案例推演与算法实现 Python 实现结论 需要添加的硬币的最小数量贪心算法实现 题目概述 在这个困难难度的算法题中我们要解决的问题是确定在给定一系列硬币面值的情况下为了使[1, target]区间内的每个整数都可以由这些硬币的某种组合表示出来需要向数组中添加的最小数量的硬币。 示例分析 示例 1: 输入: coins [1,4,10], target 19输出: 2 需要添加面值2和8的硬币 示例 2: 输入: coins [1,4,10,5,7,19], target 19输出: 1 仅需要添加面值为2的硬币 示例 3: 输入: coins [1,1,1], target 20输出: 3 需要添加面值为4、8和16的硬币 关键思路分析 解决问题的关键在于贪心算法的应用。核心思想是对于每个无法直接凑出的金额x添加面值为x的硬币以达到最优效果。通过这种方法我们可以逐步构建出一个能够覆盖[1, target]区间的硬币集合。 贪心算法的优化选择证明 我们可以根据这个案例抽象出普遍性做法。如果要靠添加硬币的方式才能凑出金额x如果此时已经能凑出[1, s]的金额x s 1我们应该选择添加面值x以得到更优结果。 证明 选择1. 如果添加小于x的面值 比如说添加面值small此时面值small与金额x - small也可以凑出金额x。增加了面值small后[small 1 small 2 small 3…small s]这些金额都可以通过与前面的金额相加凑出不妨想象一个区间[small 1, small s]因为x - small是位于[1, s]之中的x s 1且small至少为1因此x - small至少为x - 1 s所以现在可以凑出x了还可以凑出[x, small s]中的金额结合原来的[1, s]我们可以凑出[1, small s]的金额。 选择2. 添加面值x: 增加了面值x后[x 1 x 2 x 3…x s]这些金额都可以通过与前面的金额相加凑出因此可以结合前面的区间凑出[1, x s]。 选择3. 添加大于x的面值 如果添加面值x 1原先能凑出的区间为[1, s]因为x s 1x 1 s 2此时依然无法凑出金额x因为区间没有覆盖到x这个点上因此这个方案无效。 综合以上3个选择我们可以比对[1, small s]和[1, x s]因为small x所以毫无疑问选择x是最优做法。 案例推演与算法实现 从最基础的情况出发假设最初无法凑出金额1。此时我们添加面值为1的硬币。接着对于每个接下来的金额x如果当前硬币组合无法凑出x我们则添加面值为x的硬币从而扩展可凑金额的范围。这个过程一直持续到可以凑出target为止。 Python 实现 实现中首先对硬币进行排序然后遍历每个硬币同时维护一个变量x表示当前考虑的金额以及一个变量s表示目前可以凑出的最大金额。若当前硬币面值大于x则添加面值为x的硬币直到可以凑出当前考虑的硬币面值为止。这个过程一直重复直到可以凑出目标金额target。 class Solution:def minimumAddedCoins(self, coins: List[int], target: int) - int:coins.sort()ans 0x 1s 0for c in coins:if c x:while c x:s s xans 1x s 1s s cx s 1if s target:while target s:s s xans 1x s 1return ans结论 通过贪心算法的应用我们可以有效地解决这个算法问题确保在给定硬币面值的情况下以最小的硬币数量覆盖[1, target]的所有整数。
http://www.pierceye.com/news/354611/

相关文章:

  • 任家房网站建设郑州百度网站推广
  • 深圳建设网站的公司简介WordPress多功能投稿
  • 简述织梦网站上传及安怎样在网站上做免费的推广
  • 关于信用体系建设的网站wordpress新闻类模板下载
  • 免费行情软件网站下载大全爱学校vi设计案例
  • 网站外包优化怎样做免费抽皮肤的网站
  • 东八区网站建设网站源码在哪里
  • 重点建设专业 专题网站搜狗官方网站
  • 微信营销工具有哪些使用最佳搜索引擎优化工具
  • 网站推广意识薄弱wordpress授权协议
  • 用php做高中数学题库网站阿里网站建设教程
  • 大兴网站建设公司电话东莞企业网站制作怎么做
  • 网站维护有啥用2021跨境电商最火的产品
  • 专业的东莞网站排名wordpress 客户端使用
  • 做网站需要什么人才网站建设与规划案例
  • 你学做网站学了多久建设网站困难的解决办法
  • 东莞如何搭建网站建设做招聘信息的网站
  • 网站行业认证怎么做安卓开发技术
  • 泉州城乡住房建设厅网站网站运营方案ppt
  • 免费做网站wxp114五种常用的网站推广方法
  • 简单的网站建设找哪个公司新网站seo技术
  • 电子网址怎么创建下载优化大师app
  • 网站上传服务器教程wordpress 开启多用户
  • 做网站的公司重庆互联网营销方式
  • 在线探测网站开发语言东莞人才市场现场招聘会地址
  • 检测网站是否被挂黑链seo网站营销推广
  • 当今网站开发技术的现状自己做的网站怎么上排行榜
  • 外贸没有公司 如何做企业网站?成都市住房和城乡建设局官网查询
  • 公证网站建设管理无锡百度正规推广
  • 免费海外网站建设自学设计软件的免费网站