Leetcode每日一题:860.lemonade-change(柠檬水找零)_初始化
思路:初始化手上已有的五元钱和十元钱的数量count5=0,count10=0;然后遇到5元,count5++;遇到十元,判断count5>0?;遇到20元,判断count10>0&&count5>0或者count5>=3;如果遇到10元或者20元有任意情况不满足,直接返回false;
Leetcode每日一题:860.lemonade-change(柠檬水找零)_初始化_02

class Solution {
public:
    bool lemonadeChange(vector<int> &bills)
    {
        int count5 = 0, count10 = 0;
        int len = bills.size();
        for (auto b : bills)
        {
            if (b == 5)
                count5++;
            else if (b == 10)
            {
                if (count5)
                {
                    count5--;
                    count10++;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                if (count10 && count5)
                {
                    count10--;
                    count5--;
                }
                else if (count5 >= 3)
                {
                    count5 -= 3;
                }
                else
                {
                    return false;
                }
            }
        }
        return true;
    }
};