柠檬水找零
class Solution { public: bool lemonadeChange(vector<int>& bills) { int volume = 0 , diff = 0; int num_5 ,num_10 ; map<int,int> my_map; my_map[5]=0; my_map[10]=0; for(int i=0 ; i < bills.size() ;i++) { if(bills[i]==5) my_map[5]++; else if( bills[i]==10 ) { my_map[10]++; my_map[5]--; }else if(bills[i]==20) { if(my_map[10] > 0) //给20的优先找10块的 { my_map[10]--; my_map[5]--; }else { my_map[5] = my_map[5] -3; } } if(my_map[5] < 0 || my_map[10] < 0) return false; } return true; } };
二刷
class Solution { public: bool lemonadeChange(vector<int>& bills) { int num_5=0,num_10=0,num_20=0; for(int i=0 ; i<bills.size();i++) { if(bills[i]==5) { num_5++; continue; }else if(bills[i]==10) { num_10++; num_5--; if(num_5>=0) continue; else return false; }else if(bills[i]==20) { num_20++; if(num_10 > 0) { num_10--; num_5--; }else { num_5 = num_5 -3; } if(num_5>=0) continue; else return false; } } return true; } };