【leetcode】1518. Water Bottles
阿新 • • 發佈:2020-09-14
題目如下:
Given
numBottles
full water bottles, you can exchangenumExchange
empty water bottles for one full water bottle.The operation of drinking a full water bottle turns it into an empty bottle.
Return themaximumnumber of water bottles you candrink.
Example 1:
Input: numBottles = 9, numExchange = 3 Output: 13 Explanation: You can exchange 3 empty bottles to get 1 full water bottle. Number of water bottles you candrink: 9 + 3 + 1 = 13.Example 2:
Input: numBottles = 15, numExchange = 4 Output: 19 Explanation: You can exchange 4 empty bottles to get 1 full water bottle. Number of water bottles you candrink: 15 + 3 + 1 = 19.Example 3:
Input: numBottles = 5, numExchange = 5 Output: 6Example 4:
Input: numBottles = 2, numExchange = 3 Output: 2Constraints:
1 <=numBottles <= 100
2 <=numExchange <= 100
解題思路:很簡單的題目,遞迴計算即可。
程式碼如下:
class Solution(object): def numWaterBottles(self, numBottles, numExchange): """ :type numBottles: int :type numExchange: int :rtype: int """ res = numBottles empty= numBottles while empty >= numExchange: exchange = empty/numExchange empty -= exchange*numExchange empty += exchange res += exchange return res