#力扣 LeetCode860. 檸檬水找零 @FDDLC
阿新 • • 發佈:2020-12-31
技術標籤:演算法&資料結構
題目描述:
https://leetcode-cn.com/problems/lemonade-change/
Java程式碼:
class Solution { //bills[i] 不是 5 就是 10 或是 20 public boolean lemonadeChange(int[] bills) { int[] count=new int[21]; for(int bill:bills){ if(bill==5)count[5]++; else if(bill==10){ if(count[5]==0)return false; count[5]--; count[10]++; }else{ //20 if(count[10]*count[5]>0){ count[10]--; count[5]--; }else if(count[5]>=3)count[5]-=3; else return false; } } return true; } }
Java程式碼二:進行了優化,核心思路同上
class Solution { //bills[i] 不是 5 就是 10 或是 20 public boolean lemonadeChange(int[] bills) { int five=0,ten=0; for(int bill:bills){ if(bill==5)five++; else if(bill==10){ if(five==0)return false; five--; ten++; }else{ //20 if(five*ten>0){ ten--; five--; }else if(five>=3)five-=3; else return false; } } return true; } }