dp专题15 零钱兑换

news2024/11/18 13:39:13

本题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

题目:

思路:        

        这道题,是个比较模板的完全背包问题,这里要求的是问凑成总金额所需的最少的硬币的个数。

我们明确一下 dp[ i ] 的含义,是   dp[ i ] 存储的是凑成总金额所需的最少的硬币的个数。

其中 下标 i 的含义是  "背包容量" amount ,  并且不同金额中是有无限个的。

所以我们可以将,不同金额硬币作为"物品体积",每个硬币价值都为 1 表示物品的数量。

其次我们也要分析 dp 数组的初始化,由于 要求所需最少的硬币个数,所以我们将dp初始化全部为正无穷。 其中 dp[ 0 ] 要从初始化为 0  ,毕竟 凑成总金额为 0 所需的硬币个数就是 0.

随后确定 dp 公式:    dp[ j ] = min(dp[ j ] , dp[ j - i ] + 1 );

最后我们选取的过程中,选取顺序无关,所以是个组合数,确定遍历顺序。

先物品,后背包。

代码详解如下:

class Solution {
public:
    const int INF = 0x3f3f3f3f3f3f3f;   // 定义正无穷
    inline int coinChange(vector<int>& coins, int &amount) 
{
	vector<int>dp(amount + 2,INF);  // 开辟 dp 数组,并初始化为 INF
	dp[0] = 0;  // 特定初始化
	
    // 组合数的遍历物品以及背包
	for(int &i:coins)   
	{
		for(int j = i;j <= amount;++j)  // 完全背包正向遍历
		{
			dp[j] = min(dp[j],dp[j - i] + 1);   // dp 公式
		}
	}
	if(dp[amount] >= INF) return -1;    // 返回结果
	else return dp[amount];
}
};

 最后提交:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1396397.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

红队打靶练习:BOB: 1.0.1

目录 信息收集 1、netdiscover 2、nmap 3、nikto 4、whatweb 目录探测 1、dirb 2、gobuster 3、dirsearch WEB 主页&#xff1a; robots.txt 其他页面 反弹shell 提权 系统信息收集 jc账户 本地提权 信息收集 1、netdiscover ┌──(root㉿ru)-[~/kali] └…

「JavaSE」类和对象3

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;快来卷Java啦 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 类和对象3 &#x1f349;多态&#x1f34c;重写&#x1f34c;向上转型&向下转型&#x1f34c;静态绑定&动态绑定&#x…

Docker 安装 CentOS

Docker 安装 CentOS CentOS&#xff08;Community Enterprise Operating System&#xff09;是 Linux 发行版之一&#xff0c;它是来自于 Red Hat Enterprise Linux(RHEL) 依照开放源代码规定发布的源代码所编译而成。由于出自同样的源代码&#xff0c;因此有些要求高度稳定性…

【Docker】在centos中安装nginx

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是平顶山大师&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《【Docker】安装nginx》。&#x1f3af;&#…

16.云原生之kubesphere组件安装卸载

云原生专栏大纲 文章目录 KubeSphere组件介绍KubeSphere组件安装卸载配置内容参考安装组件步骤卸载组件步骤 KubeSphere组件介绍 KubeSphere 的全部可插拔组件如下&#xff1a; 配置项功能组件描述alertingKubeSphere 告警系统可以为工作负载和节点自定义告警策略。告警策略…

WordPress后台底部版权信息“感谢使用 WordPress 进行创作”和版本号怎么修改或删除?

不知道各位WordPress站长在后台操作时&#xff0c;是否有注意到每一个页面底部左侧都有一个“感谢使用 WordPress 进行创作。”&#xff0c;其中WordPress还是带有nofollow标签的链接&#xff1b;而页面底部右侧都有一个WordPress版本号&#xff0c;如下图中的“6.4.2 版本”。…

海盗王NPC出售物品解析器

在编辑或者查看NPC出售物品的时候&#xff0c;需要了解它到底出售了那些物品。 当物品很多的时候&#xff0c;就很难一个一个地去查了。 想到之前有做过一个物品编辑器&#xff0c;于是就想在那个基础上再增加一个NPC物品分析器功能。 实现如下&#xff1a; 将NPC的出售列表直接…

【算法Hot100系列】跳跃游戏

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

三层架构——工业控制领域简单理解

前言闲话 工业领域对好滴软件架构的需求不高&#xff0c;但不意味着可以用纯面向过程式编程解决问题&#xff0c;这样后期维护必将大乱。 曾经和一位从业30年的老电气工程师交流工业控制编程&#xff1a; 我问&#xff1a;为啥富士康这些大厂以前的机器都不联网&#xff1f;&…

Gin 框架之Cookie与Session

文章目录 一、Cookie和Session的由来二、Cookie简介1. 什么是Cookie2. Cookie规范3. 安全性4. Cookie 关键配置 三、Session简介1. 什么是Session2. Session 安全性3. 如何让客户端携带 sess_id 四、使用 Gin 的 Session 插件4.1 介绍4.2 基本使用 五、 session与store5.1 会话…

第六回 花和尚倒拔垂杨柳 豹子头误入白虎堂-安装服务器管理面板AMH和cyberpanel

且说鲁智深踏入菜园之时&#xff0c;二三十个泼皮无赖正聚集于此&#xff0c;他们手持果盒酒礼&#xff0c;脸上嬉皮笑脸&#xff0c;口称前来庆贺。然而&#xff0c;当这群人走到粪窖边缘&#xff0c;打头阵的张三和李四竟妄想搬动鲁智深&#xff0c;结果却被他轻描淡写地一脚…

Microsoft365管理员创建共享邮箱

​​​​​​ 创建共享邮箱 项目2023/08/2110 个参与者 反馈 本文内容 创建共享邮箱并添加成员您应使用哪些权限&#xff1f;阻止登录共享邮箱帐户向 Outlook 添加共享邮箱 显示另外 3 个 备注 如果你的组织使用的是混合 Exchange 环境&#xff0c;则你应使用本地 Excha…

新能源汽车智慧充电桩方案:智能高效的充电桩管理模式及应用场景

一、行业背景 随着全球对环境保护的日益重视&#xff0c;新能源汽车成为了未来的发展趋势。而充电桩作为新能源汽车的核心基础设施&#xff0c;其智慧化的解决方案对于推动新能源汽车的普及和发展至关重要。通过智能化、高效化的充电服务&#xff0c;提高用户体验&#xff0c;…

智慧充电桩的市场前景未来

随着电动汽车的日益普及&#xff0c;充电问题成为广大车主的关注焦点。作为领先的科技企业&#xff0c;天津通捷创科为您带来了一站式解决方案——共享充电桩APP。 <h1>一、即刻定位&#xff0c;充电桩触手可及</h1> 在天津通捷创科的共享充电桩APP中&#xff0c…

洛谷P5731 【深基5.习6】蛇形方阵(C语言)

思路感觉还是比较好想的。 从 1 到 n 依次算。先往右&#xff0c;走到头往下&#xff0c;再走到头往左&#xff0c;以此类推。 #include<stdio.h>int main() {int n, i, j, k1,t0;scanf("%d", &n);int a[100][100];if (n % 2 0)t n / 2;elset n / 2 …

测温传感器表带式ATE200安装指导

ATE200 安装方法 ATE200 表带式无线测温传感器适用于断路器动触头、静触头、电缆接头、母排等处。 表带式无线温度传感器结构说明: ATE200 structure introduction: 1 —— 无线温度传感器主体&#xff0c;测温探头在背面 The core of wireless temperature sensor ATE200,…

2023总结,瞳孔滤镜

2022总结&#xff0c;强风吹拂 2021总结&#xff0c;欲望反光 2020总结&#xff0c;我与思阳 2019总结&#xff0c;乘风破浪 2018总结&#xff0c;蜗行牛步 2017总结&#xff0c;勿忘初心 得益于疫情的结束&#xff0c;出行自由&#xff0c;2023年09月24日下午 &#xf…

Qt/C++自定义界面大全/20套精美皮肤/26套精美UI界面/一键换肤/自定义颜色/各种导航界面

一、前言 这个系列对应自定义控件大全&#xff0c;一个专注于控件的编写&#xff0c;一个专注于UI界面的编写&#xff0c;程序员有两大软肋&#xff0c;一个是忌讳别人说自己的程序很烂很多bug&#xff0c;一个就是不擅长UI&#xff0c;基本上配色就直接rgb&#xff0c;对于第…

精品基于Uniapp+springboot校园学校趣事管理系统app

《[含文档PPT源码等]精品基于Uniappspringboot趣事管理系统app》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; 开发语言&#xff1a;Java 后台框架&#xff1a;springboot、ssm 安卓…

大模型学习与实践笔记(九)

一、LMDeply方式部署 使用 LMDeploy 以本地对话方式部署 InternLM-Chat-7B 模型&#xff0c;生成 300 字的小故事 2.api 方式部署 运行 结果&#xff1a; 显存占用&#xff1a; 二、报错与解决方案 在使用命令&#xff0c;对lmdeploy 进行源码安装是时&#xff0c;报错 1.源…