LeetCode:860. 柠檬水找零
题目描述
方法一:暴力+贪心
- 先判断bills[0] 如果大于5则没办法找零 直接返回false
- 然后类似于桶排序定义一个数组num ,用num[0]存5 num[1]存10 num[2]存20
- 遍历数组bills[] 如果bills[i]=5 num[0]++
- 如果bills[i]=10 num[1]++ 这时候看是否有五元的储蓄 没有则返回false 有的话 num[0]–
- 依次类推
class Solution {
public boolean lemonadeChange(int[] bills) {
if(bills[0]>5) {
return false;
}
int AllMoney=0;
//num[0]存5 num[1]存10 num[2]存20
int[] num=new int[3];
for (int i = 0; i < bills.length; i++) {
if(bills[i]==5) {
num[0]++;
}else if(bills[i]==10) {
num[1]++;
if(num[0]<1) {
return false;
}else {
num[0]--;
}
}else {
if(num[1]>0) {
num[1]--;
if(num[0]>0) {
num[0]--;
}else {
return false;
}
}else {
if(num[0]<3) {
return false;
}else {
num[0]-=3;
}
}
}
}
return true;
}
}