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];
全部评论

相关推荐

瑞雪兆丰年_:可以贴个超级大的校徽,以防HR眼拙
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

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