zoukankan      html  css  js  c++  java
  • 【leetcode】1518. Water Bottles

    题目如下:

    Given numBottles full water bottles, you can exchange numExchange empty water bottles for one full water bottle.

    The operation of drinking a full water bottle turns it into an empty bottle.

    Return the maximum number of water bottles you can drink.

    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 can drink: 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 can drink: 15 + 3 + 1 = 19.
    

    Example 3:

    Input: numBottles = 5, numExchange = 5
    Output: 6
    

    Example 4:

    Input: numBottles = 2, numExchange = 3
    Output: 2

    Constraints:

    • 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
  • 相关阅读:
    MySQL经典面试题--SQL语句
    awk命令
    mysql安装配置
    notepad++使用
    Xshell使用
    说明
    对 MMO 游戏的调研
    对 VR 项目开发流程的调研
    对 Unity 动态加载资源的调研
    对 Unity 太空射击游戏的实践
  • 原文地址:https://www.cnblogs.com/seyjs/p/13666708.html
Copyright © 2011-2022 走看看