代码随想录算法训练营第三十五天|贪心:860.柠檬水找零

这个题目自己能想出来,逻辑和代码随想录一样。重点就在于20找零需要先看有没有一个10一个5。再看有没有三个5,比较容易实现。

class Solution {
public:
    bool lemonadeChange(vector& bills) {
        int five = 0;
        int ten = 0;
        for(int i = 0; i < bills.size(); i++){
            if(bills[i] == 5){
                five++;
            }
            if(bills[i] == 10){
                if(five<=0){
                    return false;
                }
                    five--;
                    ten++;
                
            }
            if(bills[i] == 20){
                if(ten>0&& five>0){
                    ten--;
                    five--;
                }else if(five>=3){
                    five-=3;
                }else{
                    return false;
                }
            }
            
                
            
        }
        return true;
    }
};

你可能感兴趣的:(算法,leetcode,数据结构,c++)