龙之向导外贸经理人网站,wordpress的配置文件在什么位置,dw怎么做打开网站跳出提示,如何破解wordpress思路#xff1a; 使用 贪心算法 的思想 题目#xff1a; 柠檬水找零 在柠檬水摊上#xff0c;每一杯柠檬水的售价为5美元。顾客排队购买你的产品,一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付5美元、10美元或20美元。必须给每个顾客正确找零 注意,一开始你手头没有任何…思路 使用 贪心算法 的思想 题目 柠檬水找零 在柠檬水摊上每一杯柠檬水的售价为5美元。顾客排队购买你的产品,一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付5美元、10美元或20美元。必须给每个顾客正确找零 注意,一开始你手头没有任何零钱。 如果你能给每位顾客正确找零,返回 true 否则返回false 思路 使用 贪心算法 的思想
本题中找零是不需要用到20美元的但是需要用到 5 美元和 10 美元因此需要记录现在手上有多少张 5 美元和 10 美元。5 美元不需要找零直接数量1即可10 美元只能找 5 美元因此手上的 5 美元 -110 美元120 美元有两种方法 第一种3 张 5 美元显然不是最优解因为我们需要更多的 5美元来找零第二种一张 5 美元和 一张 10 美元优先选择该方式找零。
package bilibili;/*** author: Arbicoral* create: 2023-07-18 12:25* Description: 贪心算法*/
public class GreedyByLemonChange {public static void main(String[] args) {System.out.println(change(new int[]{5, 10 ,20}));}private static boolean change(int[] arr) {int five 0, ten 0;// 表示手上有 5美元、10美元的个数for (int num : arr) {if (num 5){five;}if (num 10) {if (five 0){return false;//five不够一个了就返回false}--five;ten;}if (num 20){if (ten1 five1){// 先判断有没有 5 10的保证局部最优ten--;five--;} else if (five 3) {five - 3;}else {return false;}}}return true;}
}