518. 零钱兑换 II -- 完全背包

518. 零钱兑换 II

这道题其实就是一个完全背包问题,关于背包问题的相关文章见:

  1. 01背包问题 – 动态规划
  2. 完全背包问题

class CoinChange:"""518. 零钱兑换 IIhttps://leetcode.cn/problems/coin-change-ii/"""def solution(self, amount: int, coins: List[int]) -> int:n = len(coins)#  dp[i][j]: 若只使⽤前 i 个物品(可以重复使⽤),当背包容量为 j 时,有 dp[i][j] 种⽅法可以装满背包。dp = [[0 for _ in range(amount+1)] for _ in range(n+1)]# base casefor i in range(n + 1):dp[i][0] = 1for i in range(1, n+1):for j in range(1, amount+1):if j - coins[i-1] >= 0:dp[i][j] = dp[i-1][j] + dp[i-1][j-coins[i-1]]else:dp[i][j] = dp[i - 1][j]return dp[n][amount]def solution2(self, amount: int, coins: List[int]) -> int:"""空间压缩,二维变一维:param amount::param coins::return:"""n = len(coins)#  dp[j]: 当背包容量为 j 时,有 dp[j] 种⽅法可以装满背包。dp = [0 for _ in range(amount + 1)]# base casedp[0] = 1for i in range(n):for j in range(1, amount + 1):if j - coins[i] >= 0:dp[j] = dp[j] + dp[j - coins[i]]return dp[amount]

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

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

相关文章

TypeScript高级类型

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 映射类型(Mapped Types) 1. Readonly 2. Partial 3. Pick 4. Record 条件类型&#xf…

Mysql中group by 使用中发现的问题

当使用 MySQL 的 GROUP BY 语句时,根据指定的列对结果进行分组。在 GROUP BY 分组时,如果某个字段在分组中有多个不同的值,那么就会出现你提到的该字段一直在变化的情况。 这种情况通常是由于在 GROUP BY 中选择的字段与其他非聚合字段不兼容…

互联网医院App开发:构建医疗服务的技术指南

互联网医院App的开发是一个复杂而具有挑战性的任务,但它也是一个充满潜力的领域,可以为患者和医疗专业人员提供更便捷的医疗服务。本文将引导您通过一些常见的技术步骤来构建一个简单的互联网医院App原型,以了解该过程的基本概念。 技术栈选…

打印日志遇到的问题,logback与zookeeper冲突

在做项目时需要打印日志引入了logback打印日志,但是一直无法打印,于是一路查找原因。发现zookeeper中默认带的有个logback和我自己引入的logback版本冲突了,这样直接使用exclusions标签将zookeeper中自带的日志框架全部排除即可 按理说到这一…

Windows下防火墙端口配置

在电脑或者服务器上部署某个应用后,如果需要对外提供服务可能就需要在主机防火墙上设置开启需要的端口,那么具体怎样操作呢 1.打开windows防火墙 2.设置防火墙入站规则 如下图“高级安全Windows Defender 防火墙”页面,点击左侧“入站规则”…

离散数学 学习 之 一阶逻辑基本概念 (一 )

个体词可以 理解为主语 , 3 不是偶数 ,3 就是 个体常项 凡整数都能被 2 整除 , 整数就是 个体变项 上面的谓词是 ( 1 ) 是无理数 ( 2 ) 是有理数 ( 3 ) 与 同岁 &#xf…

机器人任务挖掘与智能超级自动化技术解析

本文为上海财经大学教授、安徽财经大学学术副校长何贤杰出席“会计科技Acctech应对不确定性挑战”高峰论坛时的演讲内容整理。何贤杰详细介绍了机器人任务挖掘与智能超级自动化技术的发展背景、关键技术和应用场景。 从本质来说,会计是非常适合智能化、自动化的。会…

JWT安全

JWT是什么? JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。 JWT全称JSON Web Token,是一种传输信息的标准,用于JSON对象在各方之间安全…

SQL7 查找年龄大于24岁的用户信息

描述 题目:现在运营想要针对24岁以上的用户开展分析,请你取出满足条件的设备ID、性别、年龄、学校。 用户信息表:user_profile iddevice_idgenderageuniversityprovince12138male21北京大学Beijing23214male复旦大学Shanghai36543female20…

Android性能优化之应用瘦身(APK瘦身)

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 目录 一、导读二、概览2.1 apk组成 三、优化方向3.1 源代码3.1.1 代码混…

GDB的C++调试方法

本文记录基础的GDB调试过程,包含指令如下: 文章目录 准备编译文件GDB启动GDB开启代码行设置断点运行程序查看pc的指令查看监视的变量以及断点设置快照checkpoint实验1实验2 nextnextistepx/i $pcfinishinfo break 和 delete Numrefbreak col. if condit…

【操作系统】进程控制

进程控制:创建新进程,撤销已有进程,实现进程状态转换等。 原语:进程控制用的程序段。执行期间不允许中断,用"关中断"和"开中断"指令(特权指令)实…

线性代数的本质(十一)——复数矩阵

文章目录 复数矩阵附录极大线性无关组向量叉积 复数矩阵 矩阵 A A A 的元素 a i j ∈ C a_{ij}\in\Complex aij​∈C ,称为复矩阵。现将实数矩阵的一些概念推广到复数矩阵,相应的一些性质在复数矩阵同样适用。 定义:设复矩阵 A ( a i j…

Unity InputSystem 基础使用之鼠标交互

资料 官方文档 导入InputSystem包 Package Manager 搜索Input System进行下载启用该包,会重启Unity Editor 注意 InputSystem可以和旧版输入系统一起使用 设置:Project Settings->Player->Other Settings->Configuration->Active Input…

创建java文件 自动添加作者、时间等信息 – IDEA 技巧

2023 09 亲测 文章目录 效果修改位置配置信息 效果 每次创建文件的时候,自动加上作者、时间等信息 修改位置 打开:File —> Settings —> Editor —> File and Code Templates —> includes —> FileHeader 配置信息 /*** author : Java…

根号分治与多项式的巧妙结合:GYM-104386G

使用范围:序列上对于每种数的计数问题 考虑对每种数的出现次数进行根号分治 如果出现次数很少,直接平方暴力即可 如果很大考虑任意 ( i , j ) (i,j) (i,j),我们拆一下,再移一下,然后就变成了卷积形式

zookeeper/HA集群配置

1.zookeep配置 1.1 安装4台虚拟机 (1)按照如下设置准备四台虚拟机,其中三台作为zookeeper,配置每台机器相应的IP,hostname,下载vim,ntpdate配置定时器定时更新时间,psmisc&#xff…

C++与C编译后符号表对比(一百九十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

k8s上线Java项目文件导出异常总结

⚡️: 部门后台上线 k8s ,拉取 excel 文件时出现空指针异常,发现原因是 docker jar包部署缺少中文字体,所以出现无法导出 解决方法: 创建带有中文字体的jdk 镜像,并正确设置时区 FROM java:8u111-jdk-alpineLABEL m…

将钉钉机器人小程序从一个公司迁移至另一个公司的步骤

引言: 由于我们以前开发的钉钉小程序都在一个公司,想在想应用到另一个公司,这就牵扯出了关于钉钉小程序迁移方面的具体步骤。下面是具体步骤: 1、创建一个钉钉小程序 在这一步你需要有钉钉开放平台的开发者权限,具体…