每日一題 leetcode 860 檸檬水找零

2022-09-01 00:48:14 字數 994 閱讀 2266

檸檬水找零

難度簡單106

在檸檬水攤上,每一杯檸檬水的售價為 5 美元。

顧客排隊購買你的產品,(按賬單 bills 支付的順序)一次購買一杯。

每位顧客只買一杯檸檬水,然後向你付 5 美元、10 美元或 20 美元。你必須給每個顧客正確找零,也就是說淨交易是每位顧客向你支付 5

美元。注意,一開始你手頭沒有任何零錢。

如果你能給每位顧客正確找零,返回 true ,否則返回 false 。

示例 1:

輸入:[5,5,5,10,20]

輸出:true

解釋:前 3 位顧客那裡,我們按順序收取 3 張 5 美元的鈔票。

第 4 位顧客那裡,我們收取一張 10 美元的鈔票,並返還 5 美元。

第 5 位顧客那裡,我們找還一張 10 美元的鈔票和一張 5 美元的鈔票。

由於所有客戶都得到了正確的找零,所以我們輸出 true。

/*

問題細化 其實只需要考慮三種情況

1.如果顧客給了5元 five++;

2.如果顧客給了10元 five-- ten++;

3.如果顧客給了20元 先用最大的錢 ten-- five-- or five-=3; 而20元的錢 我們是不能用於找零的 這裡可以忽略

time :o(n)

*/public

boolean

lemonadechange

(int

bills)

int five =

0, ten =0;

//5元 10元的個數

for(

int bill : bills)

else

if(ten >0)

else five-=3;

if(five<0)

}return

true

;}

每日一題 LeetCode

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。示例 1 輸入 7,5,6,4 輸出 5 限制 0 陣列長度 50000 思想是 分治演算法 所有的 逆序對 於 3 個部分 左邊區間的逆序對 右邊區間的逆序對 橫跨兩個區間的...

LeetCode每日一題(題1028)

最近在刷leetcode每日一題,每次做完之後總能有些收穫,所以想著不如每天寫個部落格記錄一下做的題目的解法以及自己寫的時候問題出在 從先序遍歷還原二叉樹 題目大意 給出乙個字串 1 2 3 4 5 6 7 1代表節點的值,前面的 個數代表節點的深度。如果只有乙個子節點,保證這個節點為左子節點。返回...

LeetCode每日一題(題139)

題目 題目大意 給出乙個字串s和乙個字串陣列words,判斷s是否能夠拆分成多個words中的字串。分析 這道題比較簡單的方式應該是採用動態規劃來做。對於任意乙個字串中的區間,可以判斷該區間組成的字串是否在字典中,如果是,則這個區間的真假取決於前面那個區間的真假。給出狀態轉移方程dp i dp j ...