2023-07-22 Leetcode 860 柠檬水找零

80 阅读1分钟

Problem: 860. 柠檬水找零

思路

简单的模拟和计数

解题方法

take it easy~

Code


class Solution {
    public boolean lemonadeChange(int[] bills) {
        int n = bills.length;
        int[] cnt = new int[3];
        for (int i = 0; i < n; i++) {
            int cost = bills[i];
            if (cost == 5) {
                cnt[0]++;
            }
            else if (cost == 10) {
                cnt[1]++;
                if (cnt[0] == 0) return false;
                cnt[0]--;
            }
            else {
                cnt[2]++;
                if (cnt[1] > 0 && cnt[0] > 0) {
                    cnt[1]--;
                    cnt[0]--;
                }
                else if (cnt[0] > 2) {
                    cnt[0] -= 3;
                }
                else return false;
            }
        }
        return true;
    }
}