贪心算法实现人民币找零钱问题采用递归方法实现(JAVA语言描述)

本文介绍了贪心算法的思想,并通过Java语言实现了解决人民币找零问题的递归方法。贪心算法在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的。
摘要由CSDN通过智能技术生成

      贪心算法思想:

贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。

--百度百科

简而言之,找人民币问题就是每次将人民币的最大数额找给当前所找零钱数,找得到就给他,找不到就不给,然后再往下面找小一点的数额,这样每次找零到给他找小于当前所找零钱数的最大数额面值即可,话不多说直接上代码。

package com.wxh.suanfa.贪心算法;

import java.util.Scanner;

public class ChangeMoney {

    private static int[] money = {1, 5, 10, 20, 50, 100};//用来存储所有的零钱
    private static int all_change[] = new int[10];//定义一个数组用来存放找零的顺序

    public static void main(String[] args) {
        for (int i = 1; i < money.length; i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值