NC126换钱的最少货币数

NC126换钱的最少货币数

- 1、题目描述:

图片说明
- 2、题目链接:

https://www.nowcoder.com/practice/3911a20b3f8743058214ceaa099eeb45?tpId=196&&tqId=37128&rp=1&ru=/activity/oj&qru=/ta/job-code-total/question-ranking
-3、 设计思想:
图片说明
详细操作流程看下图:
图片说明

-5、代码:
c++版本:

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 Max = aim + 1;//定一个全局最大值
        vector<int> dp(aim + 1, Max);//把dp数组全部定为最大值
        dp[0] = 0;//总金额为0的时候所需钱币数一定是0
        for (int i = 1; i <= aim; i ++) {// 遍历目标值
            for (int j = 0; j < arr.size();j ++) {// 遍历钱币
                if (arr[j] <= i) {//如果当前的钱币比目标值小就可以兑换
                    dp[i] = min(dp[i], dp[i - arr[j]] + 1);
                }
            }
        }
        return dp[aim] > aim ? -1 : dp

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

C++岗位面试真题宝典 文章被收录于专栏

整篇专刊共分为6章,涵盖C++基础、C++操作系统、C++计算机网络、C++数据库、C++设计模式与算法面试真题。 购买须知 1、专刊报名后,在个人主页-学习-已购-专刊即可快速进入学习。2、专刊为虚拟商品,交付形式为图文,一经购买,即可解锁内容,所以概不退款。 3、专刊版权归本牛客所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表,违者将依法追究责任。

全部评论

相关推荐

点赞 评论 收藏
分享
12-15 14:16
门头沟学院 Java
回家当保安:发offer的时候会背调学信网,最好不要这样。 “27届 ”和“28届以下 ”公司招聘的预期是不一样的。
实习简历求拷打
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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