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

Leetcode 322. 零钱兑换

在这里插入图片描述

心路历程:

这道题和上一道完全平方数的和基本上一摸一样,甚至比上一道题还简单,基于dp的建模:
状态:当前的目标总金额
动作:选哪一个硬币
返回值:凑成该目标总金额的最少硬币个数

这道题如果硬币不能重复使用的话,那就是一个回溯问题,优化只能靠剪枝不能靠记忆化搜索了。因为动作选择完需要再append回去。

注意的点:

1、注意判断不能组成的情况并返回无穷
2、注意在返回时将无穷变为-1

解法:动态规划

class Solution:def coinChange(self, coins: List[int], amount: int) -> int:@cachedef dp(x):  # 组成x的最少硬币个数if x == 0: return 0if x < 0: return float('inf')# 候选动作集合nonlocal coins# 状态转移res = []for coin in coins:res.append(dp(x-coin) + 1)return min(res)ans = dp(amount)if ans == float('inf'): return -1else: return ans

相关文章:

  • VMware使用PowerCLI 修改分布式虚拟交换机的默认上联接口为LAG
  • 第九届蓝桥杯大赛个人赛省赛(软件类)真题C 语言 A 组-分数
  • 2404C++,C++ADL扩展库
  • centos7 安装 mysql
  • 宝塔面板 -- 打包前端项目并部署提升访问速度
  • 【C++】vector系列力扣刷题日志(136.只出现一次的数字,118.杨辉三角,26.删除有序数组中的重复项,260.只出现一次的数字 |||)
  • 计算机网络链路层
  • 使用API有效率地管理Dynadot域名,清除域名设置
  • 多模态学习实战手册:掌握20余个常见任务及测试数据集!
  • 加域报错:无法完成此功能
  • 如何在VSCode中高效使用Git:完全指南
  • css之flex布局文本不换行不显示省略号的解决方法
  • RocketMQ笔记(五)SpringBoot整合RocketMQ批量发送消息
  • 工控领域的开发原则有哪些
  • bizcharts中LineChart时间戳使用moment转化出现Invalid Date
  • ComponentOne 2017 V2版本正式发布
  • const let
  • Cumulo 的 ClojureScript 模块已经成型
  • Docker 笔记(2):Dockerfile
  • ES6--对象的扩展
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • iOS小技巧之UIImagePickerController实现头像选择
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • js学习笔记
  • Objective-C 中关联引用的概念
  • orm2 中文文档 3.1 模型属性
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • vue-router的history模式发布配置
  • webgl (原生)基础入门指南【一】
  • 闭包,sync使用细节
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 如何用vue打造一个移动端音乐播放器
  • 山寨一个 Promise
  • 实现菜单下拉伸展折叠效果demo
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 找一份好的前端工作,起点很重要
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​低代码平台的核心价值与优势
  • (26)4.7 字符函数和字符串函数
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (四) 虚拟摄像头vivi体验
  • (转)http协议
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • ****Linux下Mysql的安装和配置
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • @Resource和@Autowired的区别
  • [ CTF ]【天格】战队WriteUp- 2022年第三届“网鼎杯”网络安全大赛(青龙组)