一個簡單帶過渡動畫的豎排二級選單
阿新 • • 發佈:2020-12-10
在檸檬水攤上,每一杯檸檬水的售價為5美元。 顧客排隊購買你的產品,(按賬單 bills 支付的順序)一次購買一杯。 每位顧客只買一杯檸檬水,然後向你付 5 美元、10 美元或 20 美元。你必須給每個顧客正確找零,也就是說淨交易是每位顧客向你支付 5 美元。 注意,一開始你手頭沒有任何零錢。 如果你能給每位顧客正確找零,返回true,否則返回 false。 輸入:[5,5,5,10,20] 輸出:true 解釋: 前 3 位顧客那裡,我們按順序收取 3 張 5 美元的鈔票。 第 4 位顧客那裡,我們收取一張 10 美元的鈔票,並返還 5 美元。 第 5 位顧客那裡,我們找還一張 10 美元的鈔票和一張 5 美元的鈔票。 由於所有客戶都得到了正確的找零,所以我們輸出 true。
/* *直接模擬: *遍歷陣列,遇到5,10,20就各自數量加1; *1.當遇到10時 if(5的數量為0) return false; else 5數量-- *2.當遇到20時,if(5和10的數量>0) 各--;else if(5的數量>=3) 5數量 -=3; else return false; */ class Solution { public boolean lemonadeChange(int[] bills) { int five = 0; int ten = 0; for(int 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; } }