C++

换钱的最少货币数

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

C++ 动态规划问题 要点: dp[j] = min(dp[j], dp[j - arr[i]] + 1); dp[0] = 0;

    int dp[aim + 1];
    dp[0] = 0;
    for (int i = 1; i <= aim; ++i) dp[i] = INT_MAX-1;
    for (int i = 0; i < arr.size(); ++i) {
        for (int j = arr[i]; j <= aim; ++j) 
            dp[j] = min(dp[j], dp[j - arr[i]] + 1);
    }
    if (dp[aim] == INT_MAX-1) return -1;
    return dp[aim];
全部评论

相关推荐

牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
4
收藏
分享
牛客网
牛客企业服务