LeetCode322. 零钱兑换(2024冬季每日一题 28)
给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。
计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。
你可以认为每种硬币的数量是无限的。
示例 1:
输入:coins = [1, 2, 5], amount = 11
输出:3
解释:11 = 5 + 5 + 1
示例 2:
输入:coins = [2], amount = 3
输出:-1
示例 3:
输入:coins = [1], amount = 0
输出:0
提示:
1 < = c o i n s . l e n g t h < = 12 1 <= coins.length <= 12 1<=coins.length<=12
1 < = c o i n s [ i ] < = 2 31 − 1 1 <= coins[i] <= 2^{31} - 1 1<=coins[i]<=231−1
0 < = a m o u n t < = 1 0 4 0 <= amount <= 10^4 0<=amount<=104
思路:动态规划
- 定义 f[i] 为组成金额 i 所需最少的硬币数量
- 枚举 组成金额为 i 所需的硬币,最后一个硬币 j
- 如果最后一个金币是 j,则当前硬币数量 f[i] = f[i - coins[j]] + 1
- 所以有状态转移方程:f[i] = min(f[i], f[i - coins[j]] + 1)
class Solution {
public:int f[10010];int coinChange(vector<int>& coins, int amount) {memset(f, 0x3f, sizeof f);f[0] = 0;int n = coins.size();for(int i = 1; i <= amount; i++){for(int j = 0; j < n; j++){if(coins[j] <= i){f[i] = min(f[i], f[i - coins[j]] + 1);}}}return f[amount] > 1e4 ? -1: f[amount];}
};
相关文章:
LeetCode322. 零钱兑换(2024冬季每日一题 28)
给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示…...
Unix、GNU、BSD 风格中 ps 参数的区别
注:本文为“不同风格中 ps 命令参数的区别”相关文章合辑。 未去重。 BSD 风格和 UNIX 风格中 ps 参数的区别 作者:Daniel Stori 译者:LCTT Name1e5s | 2017-06-17 10:53 One Last Question ps aux 以及 ps -elf 都是查看进程的方式&…...
单片机读写内部flash实现断电数据存储
在单片机编程中,读写内部Flash存储器是一种常见的方法来实现断电数据存储。这里以STM32系列单片机为例,展示如何通过HAL库进行简单的内部Flash读写操作。 以下是一个完整的示例代码,展示了如何擦除、写入和读取内部Flash中的数据。请注意&am…...
注意力机制介绍
注意力机制介绍 1.注意力机制由来,以及解决什么问题2.什么是注意力机制3.注意力机制分类及如何实现3.1 Soft Attention(常见):软注意3.1.1普通Encoder-Decoder框架3.1.2加入Attention的Encoder-Decoder框架3.1.3如何理解注意力概率分布3.1.4 Attention机制本质思想 3.2 Hard At…...
爬虫运行后数据如何存储?
爬虫运行后获取的数据可以存储在多种不同的存储系统中,具体选择取决于数据的规模、查询需求以及应用场景。以下是一些常见的数据存储方法: 1. 文件系统 对于小型项目或临时数据存储,可以直接将数据保存到本地文件中。常见的文件格式包括&…...
C# 自动自定义截图的内容
C# 自动自定义截图的内容 using System; using System.Drawing; using System.Runtime.InteropServices; class Program {[DllImport("user32.dll")]public static extern IntPtr GetDesktopWindow();[DllImport("user32.dll")]public static extern IntP…...
Java的Stream流:文件处理、排序与串并行流的全面指南
Java的Stream流:文件处理、排序与串并行流的全面指南 Java 8 引入了 Stream API,这是一个用于处理集合数据的强大工具,它提供了一种声明式的方式来进行聚合操作。Stream 不是一个数据结构,而是一种对数据进行操作的抽象ÿ…...
[Maven]下载安装、使用与简介
很多框架的下载使用的流程和思路是差不多的,这里以maven做详细介绍。 下载安装与配置变量 下载 首先,我们要使用maven,必须先下载它的相关文件。想要下载,我们可以直接搜索maven。找到它的官网。这里不绕弯子,直接给出…...
056 WXML+ WXSS+PHP+LW+校园配送商城微信小程序开发与设计 源码 文档 全套资料
校园配送微信小程序 1.项目描述2. 1.绪论3.项目技术与功能4.界面展示5.源码获取 1.项目描述 摘 要 近几年来,随着互联网和电子商务的快速发展和普及,改变了人们日常消费模式。尤其是移动互联网的相结合,使得人们日常生活中更多的是通过手机移…...
Python 在同一/或不同PPT文档之间复制幻灯片
复制幻灯片可以帮助我们更高效地完成工作,节省大量的制作时间。通过复制现有的幻灯片,可以快速创建新的演示文稿,而无需重新设计板式样式等。此外,复制幻灯片还可以帮助我们保持内容的一致性,使整个PPT演示文稿看起来更…...
C#生成CSR(CertificateSigningRequest)和密钥
使用C#原生生成CSR(CertificateSigningRequest)和密钥。 生成的私钥妥善保存,丢失无法找回。 调用 var contents X509Helper.SigningRequestHelper.CreateSigningRequest("yourdomain.com", ["*.yourdomain.com"], X509Helper.AsymmetricAl…...
Docker 安装 Oracle创建表空间并导入数据库
一、Docker 安装Oracle 1、检查docker 版本 2、docker 下载镜像 3、 docker启动容器 4、 进入容器内部 5、安装成功,使用客户端工具连接 二、创建数据库用户与表空间 1、查询数据库文件位置 2、创建表空间 3、创建用户 4、设置权限 三、导出数据库DMP …...
elementui table子级tree懒加载bug
1. 删除子级刷新列表子级依然显示 2.更新状态子级列表未刷新 3.编辑子级后刷新页面显示状态未变更 el-table 树表格load源码 首先,load可以执行,但是只剩一个子节点就有问题,那么就直接可以定位bug在load方法里: 文件路径&am…...
AI与低代码技术融合:如何加速企业智能化应用开发?
引言 随着全球数字化转型的步伐加快,企业在智能化应用开发方面面临着前所未有的挑战和机遇。传统的软件开发方式往往需要大量的技术人员、时间和资源,而在瞬息万变的市场环境中,这种模式显得效率低下且难以满足企业快速迭代和创新的需求。 与…...
【C#】新建窗体文件,Form、UserControl
从用途、功能性和架构方面进行描述。 1. 继承自 Form 的窗体(通常是窗口): 在 C# 中,Form 是用于创建应用程序的主窗口或对话框窗口的类。当您继承自 Form 时,您创建的是一个完整的窗口,可以显示内容、与…...
ansible学习笔记之02command模块与shell模块
目录 1、概述 2、模块介绍 2.1 command模块 2.2 shell模块 2.3 小结 3、实验 3.1 测试ls命令 3.2 测试环境变量 3.3 测试操作符">" 1、概述 本文介绍ansible的command模块与shell模块,并通过实验比对两个模块的异同。 2、模块介绍 2.1…...
在Docker中部署禅道,亲测可用
1、确保centos中已安装docker docker -v 2、启动docker systemctl start docker 3、可设置docker开机启动 systemctl enable docker.service 4、获取最新版禅道开源版镜像 docker pull idoop/zentao 5、运行镜像生成禅道容器【创建 /data/www /data/data 目录】 doc…...
C++(十二)
前言: 本文将进一步讲解C中,条件判断语句以及它是如何运行的以及内部逻辑。 一,if-else,if-else语句。 在if语句中,只能判断两个条件的变量,若想实现判断两个以上条件的变体,就需要使用if-else,if-else语…...
【数学建模】线性规划问题及Matlab求解
问题一 题目: 求解下列线性规划问题 解答: 先将题目中求最大值转化为求最小值,则有 我们就可以得到系数列向量: 我们对问题中所给出的不等式约束进行标准化则得到了 就有不等式约束条件下的变系数矩阵和常系数矩阵分别为: 等式…...
【JavaWeb后端学习笔记】Spring全局异常处理器
在程序运行时,不可避免的会出现异常。在三层开发架构中,当Mapper层出现异常、如果不进行处理会抛给Service层,如果Service层也不处理则会抛给Controller层,通常Controller层有许多接口,如果对每个接口单独处理异常&…...
【Proteus仿真】SRF04超声波阈值预警系统设计与LCD1602交互实现
1. SRF04超声波测距原理与硬件连接 SRF04超声波模块是工业测距的经典选择,它通过发射40kHz的声波并计算回波时间差来测量距离。在实际项目中,我发现很多初学者容易忽略声速受温度影响的问题——常温下声速约343m/s,但温度每升高1℃࿰…...
DLSS Swapper完整指南:如何5分钟提升游戏性能50%?
DLSS Swapper完整指南:如何5分钟提升游戏性能50%? 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 您是否曾经为游戏卡顿而烦恼?是否在寻找提升帧率的方法却不知从何入手?…...
高速SOIC插座技术解析:从原理到工程实践
1. 高速SOIC插座的技术演进与核心价值在射频和高速数字电路设计中,工程师们经常面临一个经典矛盾:既要保证芯片测试的便捷性,又不能牺牲信号完整性。传统DIP插座在MHz级频率下尚能应付,但当频率攀升至GHz领域时,其机械…...
基于Google Workspace API与LLM的办公自动化技能框架设计与实现
1. 项目概述:当Google Workspace遇上AI技能 如果你和我一样,日常重度依赖Google Workspace(以前叫G Suite)来处理邮件、文档、表格和日历,那你肯定也想过:要是这些工具能更“聪明”一点就好了。比如&#…...
基于CircuitPython与BLE构建多探头无线温度监测系统
1. 项目概述:一个无线温度监控的“瑞士军刀” 如果你和我一样,喜欢在周末慢烤一块牛排,或者沉迷于培养天然酵母做面包,那你一定理解同时盯着好几个温度计的烦恼。厨房里烟雾缭绕,烤箱里正烤着东西,发酵箱里…...
Electron鸿蒙PC上的系统托盘,坑比我想象的多三倍
Electron鸿蒙PC上的系统托盘,坑比我想象的多三倍 上个月我在做一个企业内部工具,需要在鸿蒙PC上实现系统托盘常驻和原生通知推送。本来以为这是个小功能,两三个小时搞定,结果愣是折腾了两天半。把过程记录下来,希望后…...
开源音频标注工具audamo:从部署到实战的全流程指南
1. 项目概述:一个为音频数据标注而生的开源工具如果你正在处理语音识别、音频事件检测或者任何需要大量标注音频数据的项目,那么“标注”这个环节大概率是你工作流中最耗时、也最令人头疼的部分。手动用Audacity一帧一帧地听、标记,效率低下不…...
AI编程助手规则库实战:从通用到专用的效率跃迁
1. 项目概述:当你的光标有了“规矩”最近在逛GitHub的时候,发现了一个挺有意思的项目,叫“awesome-cursorrules-zh”。光看名字,你可能会有点懵,“Cursor”是那个AI编程工具,“rules”是规则,那…...
考公学习追踪器:用数据驱动备考,打造个人学习仪表盘
1. 项目概述:一个为“考公”学子量身定制的学习追踪器如果你正在准备公务员考试,或者身边有朋友在“考公”,那你一定对那种“学了忘,忘了学”的循环深有体会。行测的题海、申论的素材、时政的热点,每天的学习任务像一座…...
为什么你的民族志写作总卡在“分析乏力”?NotebookLM三步穿透文本深层文化逻辑
更多请点击: https://intelliparadigm.com 第一章:为什么你的民族志写作总卡在“分析乏力”?NotebookLM三步穿透文本深层文化逻辑 民族志写作常陷入“描述丰富、解释单薄”的困境——田野笔记堆叠如山,却难以提炼出文化实践背后的…...
