leetcode 322. Coin Change 解题报告
来源:互联网 发布:真人拍照试衣软件 编辑:程序博客网 时间:2024/05/17 02:29
原题链接
原题链接
解题思路
题目很熟悉,和以前做过的一道很类似,于是想都没想就知道肯定是动态规划。
建立一个dp数组。dp[i]表示当凑齐i时最少要多少个数字组成。状态转移方程dp[i] = Math.min(dp[i-k] + 1,dp[i]);
解释一下吧,dp[i-k]只要不等于Integer.MAX_VALUE,证明凑齐i-k,有解。并且前面已经算出来了,这时候再加上k的1位数字就行。为了保证最少,所以要在诸多解中取最小值。
解题代码
public class Solution { public int coinChange(int[] coins, int amount) { if (amount == 0) return 0; int[] dp = new int[amount + 1]; dp[0] = 0; for (int i = 1;i <= amount ;i++ ) { dp[i] = Integer.MAX_VALUE; for(int k :coins) { if(i>=k && dp[i-k] != Integer.MAX_VALUE) { dp[i] = Math.min(dp[i-k] + 1,dp[i]); } } } if(dp[amount]<Integer.MAX_VALUE && dp[amount] > 0) { return dp[amount]; } else { return -1; } }}
1 0
- [leetcode] 322. Coin Change 解题报告
- leetcode 322. Coin Change 解题报告
- LeetCode解题报告 322. Coin Change [medium]
- [Leetcode] 322. Coin Change 解题报告
- Coin Change解题报告
- UVA OJ 674 - Coin Change 解题报告
- HDOJ-2069-Coin Change 解题报告
- [leetcode] 322. Coin Change
- leetcode 322. Coin Change
- Leetcode 322. Coin Change
- Leetcode 322. Coin Change
- 322. Coin Change LeetCode
- LeetCode *** 322. Coin Change
- LeetCode 322. Coin Change
- leetcode 322. Coin Change
- LeetCode-322.Coin Change
- Leetcode 322. Coin Change
- [Leetcode]322. Coin Change
- android:错误:android.content.res.Resources$NotFoundException: String resource ID #0x1
- XML和JSON的区别
- Java 注解
- MongoDB集群分片
- 顺序表应用4:元素位置互换之逆置算法
- leetcode 322. Coin Change 解题报告
- 指标的检测及检测仪器
- ubuntu14.4.04安装sublime text3
- 文章标题
- 使用阿里大于发送短信验证码
- 电话号码 表单验证
- iOS手机APP页面横竖屏设置
- DFS_6
- JAVA多线程实现的三种方式