【背包-BM70 兑换零钱(一)】

题目

BM70 兑换零钱(一)
描述
给定数组arr,arr中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个aim,代表要找的钱数,求组成aim的最少货币数。
如果无解,请返回-1.

在这里插入图片描述

分析

背包问题,动态规划解决

dp[i]:凑够金额为i所需要的最少货币数

可以使用动态规划的原因:dp[i]的值可以由dp[i-j]+1得到,j为某一货币的面值,相当于i-j所需要的最少货币数加上面值为j的一张货币得到金额为i的最少货币数

因为货币面值为正整数,所以面值为aim所需最多货币数为aim(都使用面值为1的货币),所以初始化的值要大于aim,设为aim+1或者inf都可

最后根据dp[aim]是否小于aim判断是否有解

代码

class Solution:
    def minMoney(self , arr: List[int], aim: int) -> int:
        # write code here
        # 初始化dp ,dp[i]:凑够i所需的最少货币数
        dp = [(aim+1) for i in range(aim+1)]
        dp[0]=0
        # 遍历所有的金额
        for i in range(aim+1):
            # 遍历所有的面值
            for j in arr:
                if j <= i:
                    dp[i] = min(dp[i], dp[i-j] + 1)
        if dp[aim] > aim:
            return -1
        return dp[aim]
        

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python数据分析-心脏瓣膜手术风险分析与预测

研究背景 人的心脏有四个瓣膜&#xff0c;主动脉银、二尖、肺动脉和三尖源 不管是那一个膜发生了病变&#xff0c;都会导致心脏内的血流受到影响&#xff0c;这就是通常所说的心脏期膜病&#xff0c;很多是需要通过手术的方式进行改善的。随着人口老龄化的加剧,&#xff0c;心…

[word] word批注怎么删除 #学习方法#媒体

word批注怎么删除 word批注怎么删除&#xff1f;Word批注主要是用注释和评论文档内容&#xff0c;不管是学习上还是职场上都会用到批注&#xff0c;现在就来教大家快速删除批注的技巧。 1.删除一条批注&#xff1a;选中要删除的批注后&#xff0c;点击【批注】下的删除按钮&a…

277 基于MATLAB GUI火灾检测系统

基于MATLAB GUI火灾检测系统&#xff0c;可以实现图片和视频的火苗检测。火焰识别的三个特征&#xff1a;1个颜色特征&#xff0c;2个几何特征颜色特征&#xff1a;HSV颜色空间下&#xff0c;对三个通道值进行阈值滤波&#xff0c;几何特征1&#xff1a;长宽比&#xff0c;几何…

高考志愿填报选专业,兴趣、擅长、热门就业怎么选?

高考成绩发布后&#xff0c;接下来的重任就是填报志愿&#xff0c;在有限的时间里&#xff0c;选择好学校&#xff0c;选个专业确实不容易。很多人都说填报志愿要从兴趣方面来着手....那么兴趣靠谱吗&#xff1f; 选专业可以根据兴趣吗&#xff1f; 在应试教育的大环境中&…

Java学习-JDBC(一)

JDBC 概念 JDBC(Java Database Connectivity)Java数据库连接JDBC提供了一组独立于任何数据库管理系统的APIJava提供接口规范&#xff0c;由各个数据库厂商提供接口的实现&#xff0c;厂商提供的实现类封装成jar文件&#xff0c;也就是我们俗称的数据库驱动jar包JDBC充分体现了…

AIGC+营销:AI在营销领域的演变与营销人员的新角色

一、AI在营销领域的演变 随着AI技术的不断发展&#xff0c;营销领域也迎来了新的变革。从目前的“AI Copilot”阶段&#xff0c;到未来的“AI Agent”和“AI自主营销团队”阶段&#xff0c;AI的角色将逐渐从辅助人类到独立承担更多职责。 AI Copilot&#xff08;副驾驶&#…

MATLAB算法实战应用案例精讲-【数模应用】因子分析(附MATLAB和python代码实现)

目录 前言 算法原理 SPSS因子分析 操作步骤 结果分析 SPSSAU 因子分析案例 1、背景 2、理论 3、操作 4、SPSSAU输出结果 5、文字分析 6、剖析 疑难解惑 同源方差或共同方法变异偏差,Harman单因子检验? 提示出现奇异矩阵? 因子得分和综合得分? 因子分析计…

19、Go Gin框架集成Swagger

介绍&#xff1a; Swagger 支持在 Gin 路由中使用一系列注释来描述 API 的各个方面。以下是一些常用的 Swagger 注释属性&#xff0c;这些属性可以在 Gin 路由的注释中使用&#xff1a; Summary: 路由的简短摘要。Description: 路由的详细描述。Tags: 用于对路由进行分类的标…

人类语言处理nlp部分笔记——四、GPT3

参考自李宏毅课程-人类语言处理 四、GPT3 1. 介绍 GPT-3是一个language model&#xff0c;它的参数量相当巨大&#xff0c;是ELMO的2000倍。 2. GPT-3的野心 虽然GPT-3和BERT等模型一样&#xff0c;但是GPT-3是不需要针对特定的task做finetune的&#xff0c;也就是说GPT-3…

《传感器系列》COD 传感器

环境监测小卫士&#xff1a;COD 传感器&#xff0c;能够精准检测化学需氧量。对于水质监测和环境保护有着至关重要的作用&#xff01; 优势解析&#xff1a; 一、实时监测与快速响应 COD传感器能够实现实时监测和快速响应&#xff0c;这是其最大的优势之一。传统的COD测定方法…

程序员的职业素养:走向成功的关键

程序员的职业素养&#xff1a;走向成功的关键 引言 在信息时代&#xff0c;程序员扮演着至关重要的角色。他们推动着技术创新&#xff0c;构建起我们赖以生存的数字世界。然而&#xff0c;仅仅精通技术&#xff0c;并不能确保一个程序员的成功。优秀的职业素养&#xff0c;是程…

论文代码解读STPGNN

1.前言 本次代码文章来自于《2024-AAAI-Spatio-Temporal Pivotal Graph Neural Networks for Traffic Flow Forecasting》&#xff0c;基本模型结构如下图所示&#xff1a; 文章讲解视频链接 代码开源链接 接下来就开始代码解读了。 2.代码解读 class nconv(nn.Module):de…

104、二叉树的最大深度

给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 题解&#xff1a;所谓深度&#xff0c;就是树中某节点距离根节点的距离&#xff0c;如图中根节点3的深度为1&#xff0c;那节点7的深度为3&#x…

Go select 语句使用场景

1. select介绍 select 是 Go 语言中的一种控制结构&#xff0c;用于在多个通信操作中选择一个可执行的操作。它可以协调多个 channel 的读写操作&#xff0c;使得我们能够在多个 channel 中进行非阻塞的数据传输、同步和控制。 基本语法&#xff1a; select {case communica…

【js】input设置focus()不生效

实现功能&#xff1a;点击添加文章标签的时候&#xff0c;输入框聚焦。 页面上&#xff0c;input输入框默认不显示&#xff0c;是display:none; 点击添加按钮后&#xff0c;input输入框才显示。 在js里面直接获取元素进行设置聚焦不成功 。 ∵ focus方法比show方法先执行。j…

自考搜题网?5个大学生必备的搜题 #其他#其他#媒体

在大学生的学习过程中&#xff0c;遇到难题和疑惑是常有的事情。然而&#xff0c;随着互联网的普及和技术的发展&#xff0c;搜题和学习软件成为了大学生们解决问题的利器。今天&#xff0c;我将向大家推荐几款备受大学生喜爱的搜题和学习软件&#xff0c;帮助我们更好地应对学…

系统架构设计师【第19章】: 大数据架构设计理论与实践 (核心总结)

文章目录 19.1 传统数据处理系统存在的问题19.2 大数据处理系统架构分析19.2.1 大数据处理系统面临挑战19.2.2 大数据处理系统架构特征 19.3 Lambda架构19.3.1 Lambda架构对大数据处理系统的理解19.3.2 Lambda架构应用场景19.3.3 Lambda架构介绍19.3.4  Lambda架构的实…

推荐一款AI音乐生成工具和一款浏览器

大家好&#xff0c;今天给大家带来2款软件&#xff0c;一款是移动浏览器&#xff0c;一款是AI音乐生成软件。 Alook Alook是一款移动端浏览器&#xff0c;它以其独特的无广告、无推送、无新闻的"三无"特性&#xff0c;为用户提供了一个清爽的上网环境。Alook不仅界…

惠海 H5528 升降压芯片 12V24V36V48V60V75V LED恒流驱动IC 调光细腻顺滑无阶梯感

惠海H5528是一款升压、降压、升压降压的LED恒流驱动IC&#xff0c;其具备宽范围调光比且无频闪调光的特性&#xff0c;使得它在智能照明、Dali调光、0~10V调光、摄影灯照明以及补光灯照明等多种应用中具有广泛的应用前景。 这款芯片支持降压、升压和升降压拓扑的应用&#xff0…

elementui Menu 二级菜单 min-width修改无效

原因&#xff1a;可能是生成的二级菜单样式里面没有带特定的hash属性 而vue代码里面样式里带了 scoped生成的样式有改样式选择器 从而无法成功选择 解决&#xff1a;让样式可以全局选择 不带属性选择器 单文件组件 CSS 功能 | Vue.js :global(.el-menu--vertical .el-menu--p…