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
  • 相关阅读:
    jaxb解析xml工具类
    JQuery的父、子、兄弟节点查找方法
    jw player 配置参数
    jQuery判断当前元素是第几个元素&获取第N个元素
    正则表达式中test,match,exec区别
    php常用函数file
    php常用函数time
    php常用array函数
    php常用string函数
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/seyjs/p/13666708.html
Copyright © 2011-2022 走看看