题解 | #兑换零钱(一)#

兑换零钱(一)

https://www.nowcoder.com/practice/3911a20b3f8743058214ceaa099eeb45

class Solution:
    def minMoney(self , arr: List[int], aim: int) -> int:
        # write code here

        if aim < 1:
            return 0
        dp = [(aim+1) for i in range(aim+1)]
        dp[0] = 0


        for i in range(1, aim+1):
            for j in range(len(arr)):
                if arr[j] <= i: # 要开始凑钱了
                    dp[i] = min(dp[i], dp[i-arr[j]]+1)

        if dp[aim] > aim:
            return -1
        else:
            return dp[-1]

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务