目录
贪心算法
贪心算法(greedy algorithm ,又称贪婪算法)是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解 。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择 。
找零问题
币种:1 2 4 5 10 若干张,找零:n元。输出找零方案
思路:
(1)因为贪心是要找到最优解,所以我们要从最大的币值开始寻找
(2)每次找到符合条件的币值时,就让n减去已经找到的钱,然后继续循环,直到n不大于0时停止
import java.util.Scanner;
public class Greed {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
greedy(n);
}
public static void greedy(int n) {
int[] money = {
10, 5, 4, 2, 1};//钱的面值,从大到小,因为要找最优解。
int i = 0;