860、柠檬水找零
基本思想:
贪心算法
具体实现:
三种情况:
1.给了5块,直接收下
2.给了10块,账单少一个5块,加一个10块
3.给了20块,优先少一个10块和一个5块,如果不够,再消耗3个15块
代码:
class Solution { public boolean lemonadeChange(int[] bills) { int cash_5 = 0; int cash_10 = 0; for (int i = 0; i < bills.length; i++){ if (bills[i] == 5){ cash_5++; }else if(bills[i] == 10){ cash_5--; cash_10++; }else{ if (cash_10 > 0){ cash_10--; cash_5--; }else{ cash_5 -= 3; } } if (cash_5 < 0 || cash_10 < 0){ return false; } } return true; } }