仅以此纪录每日LeetCode所刷题目(今天的题目比较简单)
题目描述:
示例:
思路:
这道题比较经典,我使用的是一种比较好理解的方法,代码很短但是复杂度却不是特别理想。我采用的是每次只用空瓶子兑换一瓶饮料,这样动态判断还有多少空瓶子和已经喝了多少瓶饮料。
代码(1):
class Solution:
def numWaterBottles(self, numBottles: int, numExchange: int) -> int:
count = numBottles
while numBottles >= numExchange:
numBottles = numBottles-numExchange+1
count += 1
return count
另外一种方法思路大体一致,就是不用逐一兑换了。
代码(2):
class Solution:
def numWaterBottles(self, numBottles: int, numExchange: int) -> int:
count = numBottles
while numBottles >= numExchange:
a = numBottles//numExchange
count += a
numBottles = a + numBottles%numExchange
return count