LeetCode 322. 零钱兑换***
基本思想:
DP+贪心问题;
贪心后面开个专题刷,现在有点迷瞪;
DP思路:
DP有点像背包问题,但是又不全相似;
建立一维dp数组,dp[i]代表i数值时,所能够凑成的最小硬币数;
但是需要注意两个问题:
1.dp[i]=0代表无法凑成,0为终止;
2.在dp数组中,应该用coin内的值进行初始化,遍历的时候需要跳过有初始化值的位置,因为初始化后单个硬币肯定是少的;
看了看题解,更简单,直接判断当前coin大小即可;
具体代码:
class Solution {public:int coinChange(vector<int>& coins, int amount) {int Max = amount + 1;vector<int> dp(amount + 1, Max);dp[0] = 0;for (int i = 1; i <= amount; ++i) {for (int j = 0; j < (int)coins.size(); ++j) {if (coins[j] <= i) {dp[i] = min(dp[i], dp[i - coins[j]] + 1);}}}return dp[amount] > amount ? -1 : dp[amount];}
};
LeetCode 322. 零钱兑换***相关推荐
- leetcode: 322.零钱兑换
322.零钱兑换 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/coin-change/ 给你一个整数数组 coins ,表示不同面额的硬币:以及一 ...
- LeetCode 322. 零钱兑换(DP)
文章目录 1. 题目信息 2. 解题 2.1 回溯穷举 2.2 动态规划 1. 题目信息 给定不同面额的硬币 coins 和一个总金额 amount. 编写一个函数来计算可以凑成总金额所需的最少的硬币 ...
- golang力扣leetcode 322.零钱兑换
322.零钱兑换 322.零钱兑换 题解 代码 322.零钱兑换 322.零钱兑换 题解 //state: dp[i]金额为i时所需最少硬币个数 //function: dp[i]=dp[i-n]+1 ...
- Java实现 LeetCode 322 零钱兑换
322. 零钱兑换 给定不同面额的硬币 coins 和一个总金额 amount.编写一个函数来计算可以凑成总金额所需的最少的硬币个数.如果没有任何一种硬币组合能组成总金额,返回 -1. 示例 1: 输 ...
- [LeetCode] 322.零钱兑换 五种方法讲解
322.零钱兑换 五种方法讲解 文章目录 322.零钱兑换 五种方法讲解 1 问题描述 2 问题分析 3 解决策略 3.1 递归-暴力解决 3.2 递归-加入存储 3.3 BFS 3.4 动态规划-自 ...
- LeetCode 322. 零钱兑换
322. 零钱兑换 难度 中等 给你一个整数数组 coins ,表示不同面额的硬币:以及一个整数 amount ,表示总金额. 计算并返回可以凑成总金额所需的 最少的硬币个数 .如果没有任何一种硬币组 ...
- Leetcode.322 零钱兑换
索引iii表示 amountamountamount 金额,dp[i]dp[i]dp[i] 表示最少 coinscoinscoins 个数. 递归 class Solution {int res = ...
- Leetcode 322.零钱兑换
Time: 20190906 Type: Medium 题目描述 给定不同面额的硬币 coins 和一个总金额 amount.编写一个函数来计算可以凑成总金额所需的最少的硬币个数.如果没有任何一种硬币 ...
- leetcode 322. 零钱兑换 思考分析
目录 1.题目 2.思路分析 3.参考链接 1.题目 给定不同面额的硬币 coins 和一个总金额 amount.编写一个函数来计算可以凑成总金额所需的最少的硬币个数.如果没有任何一种硬币组合能组成总 ...
- 99. Leetcode 322. 零钱兑换 (动态规划-完全背包)
步骤一.确定状态: 确定dp数组及下标含义 dp数组是个amout+1的数组,dp[j]表示的是装满容量为j的背包所需要的最 少物品的个数 步骤二.推断状态方程: 对于当前物品i, 有两种选择决定了d ...
最新文章
- 部署 instance 到 VXLAN - 每天5分钟玩转 OpenStack(112)
- OpenStack虚机网卡的创建过程
- 关于stm32的数据类型
- VC mfc 多文档程序更改子文档标题名
- 2015最火十大Android开源项目,是个程序员你就该看看!
- boost::math::acosh用法的测试程序
- Spring Injection with @Resource, @Autowired and @Inject
- 关于spring中util:/的配置
- Mysql配置文件读取顺序
- 佳能EOS R5逼出性能怪兽索尼A1,2021佳能如何接招?
- python训练mask rcnn模型C++调用训练好的模型--基于opencv4.0(干货满满)
- minist数据集的获取方法
- 小学计算机教学笔记,信息技术在小学数学教学的运用
- Windows10息屏快的问题解决办法(在更改屏幕和睡眠时间无效的情况下)
- C# 模拟PCM数据并创建WAV文件
- Redis(持久化、主从复制、主从切换、twemproxy、redis集群)
- android 触摸事件 取消,如何禁用/重新启用Android中的触摸事件?
- JavaScript 介绍
- C语言用指针法输入12个整数,然后按每行4个数输出(刷题)
- 如何查询澳大利亚药监局(TGA)药品信息数据
热门文章
- Flink窗口起始时间计算
- QQ音乐PC端保存歌手写真的方法
- 打印机扫描计算机远程扫描仪,未在设备上将扫描类型设置为(远程扫描仪)的解决方法...
- 古老 IP 新玩法,盘点传统文化出圈秘籍
- 2020年终总结!新的起航,新的征程
- 计算机学院肖鹏,肖鹏-重庆大学物理学院
- usb3.0传输速度测试软件,USB3.0与USB2.0的传输速度对比测试
- Python 画图加坐标,加点,加网格
- 架构师学习笔记(四)架构师线路之系统架构师企业架构师
- Hexo Next为每篇文章设置自定义的banner图片