Leetcode PHP題解--D99 860. Lemonade Change

D99 860. Lemonade Change

題目連接

860. Lemonade Changephp

題目分析

這道題目是典型的收銀問題了。數組

假設你在開店第一天沒有零錢,你的商品賣5元。紙幣有5元、10元、20元三種。給定一個數組表明你今天遇到的客人在買東西時給的錢。判斷你的錢箱能不能順利給每一位客人找零。(假設每一位客人都只買一件商品).net

思路

首先判斷客戶給的是哪一種。code

若是是5元的話,直接放入錢箱,不須要判斷錢箱內的錢。
若是是10元,則需判斷錢箱內是否有多於1張5元。沒有則直接中斷交易,返回false。不然,把10元放入錢箱,並拿走一張5元。
若是是20元,則優先判斷是否有多於1張5元和1張10元。若沒有,判斷有沒有多於3張5元。符合的話和前面作一樣的操做,把客戶的錢放入錢箱,並找零。leetcode

最終代碼

<?php
class Solution {

    /**
         * @param Integer[] $bills
              * @return Boolean
                   */
                       function lemonadeChange($bills) {
                               $inHand = [0,0,0];
                                       foreach($bills as $bill){
                                                   switch($bill){
                                                                   case 5:
                                                                                       $inHand[0] += 1;
                                                                                                           break;
                                                                                                                           case 10:
                                                                                                                                               $inHand[1] += 1;
                                                                                                                                                                   if($inHand[0]>=1){
                                                                                                                                                                                           $inHand[0] -= 1;
                                                                                                                                                                                                               }
                                                                                                                                                                                                                                   else{
                                                                                                                                                                                                                                                           return false;
                                                                                                                                                                                                                                                                               }
                                                                                                                                                                                                                                                                                                   break;
                                                                                                                                                                                                                                                                                                                   case 20:
                                                                                                                                                                                                                                                                                                                                       $inHand[2] +=1;
                                                                                                                                                                                                                                                                                                                                                           //10 + 5 
                                                                                                                                                                                                                                                                                                                                                                               if($inHand[0]>=1 && $inHand[1]>=1){
                                                                                                                                                                                                                                                                                                                                                                                                       $inHand[0] -= 1;
                                                                                                                                                                                                                                                                                                                                                                                                                               $inHand[1] -= 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                   }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                       // 5 * 3
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           else if($inHand[0]>=3){
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   $inHand[0] -= 3;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           else{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               }
若以爲本文章對你有用,歡迎用[愛發電](https://afdian.net/@skys215)資助。
相關文章
相關標籤/搜索