建设商务网站需要哪些步骤seo服务价格表
前言
题目:860. 柠檬水找零
参考题解:柠檬水找零-力扣官方题解
提交代码
核心思路:先用大钱找零。大钱找不开,再用小钱。
class Solution {
public:bool lemonadeChange(vector<int>& bills) {map<int,int> vault{{5,0},{10,0},{20,0}}; //<面额,数量>for(int i=0; i<bills.size(); i++){switch (bills[i]){case 5:vault[5]++;break;case 10:vault[10]++;if(vault[5]>=1)vault[5]--;elsereturn false;break;case 20:vault[20]++;if(vault[10]>=1 && vault[5]>=1){vault[10]--;vault[5]--;}else if(vault[5]>=3)vault[5] -= 3;elsereturn false;default:exit;}}return true;}
};
关于数据结构的选择,或许完全可以不用哈希表。下面是参考题解的代码。
class Solution {
public:bool lemonadeChange(vector<int>& bills) {int five = 0, ten = 0;for (auto& bill: bills) {if (bill == 5) {five++;} else if (bill == 10) {if (five == 0) {return false;}five--;ten++;} else {if (five > 0 && ten > 0) {five--;ten--;} else if (five >= 3) {five -= 3;} else {return false;}}}return true;}
};