leetcode-322. 零钱兑换

题目描述

给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。

计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。

你可以认为每种硬币的数量是无限的。

示例 1:

输入:coins = [1, 2, 5], amount = 11

输出:3 
解释:11 = 5 + 5 + 1

示例 2:

输入:coins = [2], amount = 3

输出:-1

示例 3:

输入:coins = [1], amount = 0
输出:0

思路 【参考:代码随想录

1. dp数组含义:凑成总金额i所需的最小硬币dp[i]个

2. 公式:dp[i] = min(dp[i-coin]+1, dp[i])

3. 初始化:dp[0] = 0 

4. 遍历顺序:外层for循环遍历硬币,内层for循环遍历金额【背包】

5. 打印数组:0,1,1,2,2,1 【coins = [1, 2, 5], amount = 5】

class Solution(object):
    def coinChange(self, coins, amount):
        """
        :type coins: List[int]
        :type amount: int
        :rtype: int
        """
        dp = [float('inf')] * (amount+1)
        dp[0] = 0
        for coin in coins:
            for i in range(coin, amount+1):
                if dp[i-coin] != float('inf'):
                    dp[i] = min(dp[i-coin]+1,dp[i])
        if dp[amount] == float('inf'):
            return -1
        return dp[amount]

if __name__=='__main__':
    s=Solution()
    coins = [1,2,5]
    amount = 5
    print(s.coinChange(coins, amount))

相关推荐

  1. leetcode-322. 零钱兑换

    2024-03-14 12:04:01       28 阅读
  2. leetcode 322.零钱兑换

    2024-03-14 12:04:01       19 阅读
  3. 动态规划 Leetcode 322 零钱兑换

    2024-03-14 12:04:01       42 阅读
  4. 完全背包,LeetCode322. 零钱兑换

    2024-03-14 12:04:01       16 阅读
  5. 【动态规划】Leetcode 322. 零钱兑换【中等】

    2024-03-14 12:04:01       9 阅读
  6. LC322. 零钱兑换

    2024-03-14 12:04:01       29 阅读
  7. leetcode零钱兑换

    2024-03-14 12:04:01       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-14 12:04:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-14 12:04:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-14 12:04:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-14 12:04:01       18 阅读

热门阅读

  1. c# 前后台协同

    2024-03-14 12:04:01       21 阅读
  2. 【区块链】讲解

    2024-03-14 12:04:01       20 阅读
  3. 软考 系统架构设计师之回归及知识点回顾(4)

    2024-03-14 12:04:01       22 阅读
  4. 临近取样(KNN)算法基本原理&sklearn实现

    2024-03-14 12:04:01       15 阅读
  5. 各个类型和Json类型的相互转换

    2024-03-14 12:04:01       22 阅读
  6. 【算法】KY33 密码翻译

    2024-03-14 12:04:01       18 阅读
  7. 力扣Python方法解析

    2024-03-14 12:04:01       19 阅读
  8. Element Plus与Ant Design Vue:选型对比

    2024-03-14 12:04:01       18 阅读