其他分享
首页 > 其他分享> > 【LeetCode】每日一题2021/11/09

【LeetCode】每日一题2021/11/09

作者:互联网

0
1

class Solution {
    public boolean lemonadeChange(int[] bills) {
        // 因为20的面额不能找零,所以不记录
        int count_5 = 0, count_10 = 0;
        for (int i = 0; i < bills.length; i++) {
            if (bills[i] == 5) {
                count_5++;
            }
            if (bills[i] == 10) {
                if (count_5 <= 0) {
                    return false;
                }
                count_10++;
                count_5--;
            }
            if (bills[i] == 20) {
                if (count_10 > 0 && count_5 > 0) {
                    count_10--;
                    count_5--;
                } else if (count_5 >= 3){ // 若没有10元
                    count_5 -= 3;
                } else {
                    return false;
                }
            }
        }
        return true;
    }
}

这道题是分了几种情况,但是写出来的代码有的会很复杂,有的会很简洁,这就和分情况有关了,比如可以将10和5面额写在一起判断,也可以先判断10再在内部判断5,但是这样就会感觉写得很复杂。
2

标签:11,count,10,int,09,找零,2021,面额,bills
来源: https://blog.csdn.net/weixin_40910614/article/details/121468245