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

兑换零钱(一)

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

#include <climits>
class Solution {
public:
    /**
     * 最少货币数
     * @param arr int整型vector the array
     * @param aim int整型 the target
     * @return int整型
     */
    int minMoney(vector<int>& arr, int aim) {
        // write code here
        int n=arr.size();
        vector <int> dp(aim+1,INT_MAX);
        dp[0]=0;
        for(int i=0;i<n;i++){
            for(int j=arr[i];j<=aim;j++){
                dp[j]=min(dp[j-arr[i]]+1,dp[j]);
            }
            
        }
        if (dp[aim] == INT_MAX) return -1;
        return dp[aim]; 
    }
    
};

全部评论

相关推荐

04-15 23:42
中山大学 Java
ResourceUtilization:过几天楼主就会捧着一堆offer来问牛友们该怎么选辣
点赞 评论 收藏
分享
一天代码十万三:这都不能算简历吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务