package 贪心算法;
public class 柠檬水找零 {
public static void main(String[] args) {
int[]bills=new int[]{5,5,10,10,20};
System.out.println(lemonadeChange(bills));
}
public static boolean lemonadeChange(int[]bills){
int[]zhanghu=new int[5];//账户用1个数组表示,只占用1 2 4
for(int i=0;i<bills.length;i++){//一个for循环,每次读入的数据都记录在账户zhanghu数组中
int a=bills[i]/5;//因为只有5 10 20 三个数,所以对这三个数去商放在一个容量为5的数组中
zhanghu[a]++;
//数字是5的时候,不做判断,只有当数字是10 20 时才做处理
if(bills[i]==10){
if(zhanghu[1]==0){
return false;
}else{
zhanghu[1]--;
}
}else{
if(bills[i]==20){
if(zhanghu[1]>0&&zhanghu[2]>0){
zhanghu[1]--;
zhanghu[2]--;
}else{
if(zhanghu[1]>=3){
zhanghu[1]-=3;
}else{
return false;
}
}
}
}
}
return true;
}
}
leecode 柠檬水找零
最新推荐文章于 2024-07-19 17:37:28 发布