檸檬水找零
阿新 • • 發佈:2021-01-20
由於題目中只有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; } };