力扣860题(柠檬水找零)

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;
    }
}

 

上一篇:PAT A1016 Phone Bills (25 分)


下一篇:翻译:《实用的Python编程》01_02_Hello_world