贪心算法思想:
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。
--百度百科
简而言之,找人民币问题就是每次将人民币的最大数额找给当前所找零钱数,找得到就给他,找不到就不给,然后再往下面找小一点的数额,这样每次找零到给他找小于当前所找零钱数的最大数额面值即可,话不多说直接上代码。
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

本文介绍了贪心算法的思想,并通过Java语言实现了解决人民币找零问题的递归方法。贪心算法在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的。
最低0.47元/天 解锁文章
1908

被折叠的 条评论
为什么被折叠?



