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

兑换零钱(一)

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

class Solution:
    def minMoney(self , arr: List[int], aim: int) -> int:
        if aim == 0:
            return 0
        arr.sort()
        dp = [float('inf')]*(aim+1)
        for j in arr:
            if j <= aim:
                dp[j] = 1
        for i in range(1,aim+1):
            for j in arr:
                if i-j>-1 and dp[i-j] != -1:
                    dp[i] = min(dp[i],dp[i-j]+1)
        if dp[aim] == float('inf'):
            return -1
        return dp[aim]

全部评论

相关推荐

求实习的小白1213:华科去这 你是真敢去啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务