LeetCode 518. Coin Change II

原题链接在这里:https://leetcode.com/problems/coin-change-2/

题目:

You are given coins of different denominations and a total amount of money. Write a function to compute the number of combinations that make up that amount. You may assume that you have infinite number of each kind of coin.

 

Example 1:

Input: amount = 5, coins = [1, 2, 5]
Output: 4
Explanation: there are four ways to make up the amount:
5=5
5=2+2+1
5=2+1+1+1
5=1+1+1+1+1

Example 2:

Input: amount = 3, coins = [2]
Output: 0
Explanation: the amount of 3 cannot be made up just with coins of 2.

Example 3:

Input: amount = 10, coins = [10] 
Output: 1

Note:

You can assume that

  • 0 <= amount <= 5000
  • 1 <= coin <= 5000
  • the number of coins is less than 500
  • the answer is guaranteed to fit into signed 32-bit integer

题解:

Let dp[i] denote up to amount i, the number of combinations.

dp[0] = 1

dp[i] += dp[i - coin]  

Time Complexity: O(amount * n). n = coins.length.

Space: O(amount).

AC Java:

复制代码
 1 class Solution {
 2     public int change(int amount, int[] coins) {
 3         if(amount < 0 || coins == null){
 4             return 0;
 5         }
 6         
 7         int [] dp  = new int[amount + 1];
 8         dp[0] = 1;
 9         
10         for(int coin : coins){
11             for(int i = 1; i <= amount; i++){
12                 if(i - coin < 0){
13                     continue;
14                 }
15                 
16                 dp[i] += dp[i - coin];
17             }
18         }
19         
20         return dp[amount];
21     }
22 }
复制代码

类似Coin ChangeNumber of Dice Rolls With Target SumNumber of Ways to Build House of Cards.

posted @   Dylan_Java_NYC  阅读(251)  评论(0)    收藏  举报
编辑推荐:
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· 记一次 .NET某云HIS系统 CPU爆高分析
· 如果单表数据量大,只能考虑分库分表吗?
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
阅读排行:
· 博客园2025新款「AI繁忙」系列T恤上架
· Avalonia跨平台实战(二),Avalonia相比WPF的便利合集(一)
· C# LINQ 快速入门实战指南,建议收藏学习!
· Redis实现高并发场景下的计数器设计
· 上周热点回顾(4.7-4.13)
历史上的今天:
2016-01-15 LintCode A + B Problem
点击右上角即可分享
微信分享提示