1. 程式人生 > 實用技巧 >檸檬水找零

檸檬水找零

由於題目中只有5元,10元,20元三種票值,當是10元時,只需要一張5元,當是20元時,可以用一張5元和一張10元或者可以用三張5元來找零,但更傾向於用第一種找零方法,因為5元找零的範圍更廣

因此我們遍歷陣列中的每一個數,並記錄下該紙幣的數量,每當需要找零是再減去對應需要的數量即可

程式碼如下:

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