您的位置:首页 > 汽车 > 新车 > NC 兑换零钱(一)

NC 兑换零钱(一)

2024/10/19 9:47:12 来源:https://blog.csdn.net/pleaseprintf/article/details/142151334  浏览:    关键词:NC 兑换零钱(一)

系列文章目录


文章目录

  • 系列文章目录
  • 前言


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
在这里插入图片描述


描述
给定数组arr,arr中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个aim,代表要找的钱数,求组成aim的最少货币数。
如果无解,请返回-1.
在这里插入图片描述

import java.util.*;
public class Solution {public int minMoney (int[] arr, int aim) {//小于1的都返回0if(aim < 1) return 0;int[] dp = new int[aim + 1];//dp[i]表示凑齐i元最少需要多少货币数Arrays.fill(dp, aim + 1); dp[0] = 0; //遍历1-aim元for(int i = 1; i <= aim; i++){ //每种面值的货币都要枚举for(int j = 0; j < arr.length; j++){ //如果面值不超过要凑的钱才能用if(arr[j] <= i) //维护最小值dp[i] = Math.min(dp[i], dp[i - arr[j]] + 1); }}//如果最终答案大于aim代表无解return dp[aim] > aim ? -1 : dp[aim]; }
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com