力扣题目练习 换水问题

1

很简单,就是直到你剩余的空水瓶不足以换一瓶水的时候,就停止

复制代码
class Solution(object):
    #我有这么多水,exchange个瓶子可以兑换一瓶水
    def numWaterBottles(self, numBottles, numExchange):
        """
        :type numBottles: int
        :type numExchange: int
        :rtype: int
        """
        count=numBottles
        now_exchange=numBottles
        while (now_exchange//numExchange)>=1:
            count+=(now_exchange//numExchange)
            #现在有的空瓶子的数目
            now_exchange=(now_exchange%numExchange)+(now_exchange//numExchange)
        return count
solution=Solution()
result=solution.numWaterBottles(15,4)
print(result)

然后我们看加大难度的等级

题目的意思是这样的:空水瓶换水,一次只能换一瓶水,换完之后剩余的空水瓶数目仅仅+1,并且下一次换一瓶水需要的空水瓶数目还要涨,我这个没有思考其他方法,还是沿袭问题1的,代码如下:

复制代码
class Solution(object):
    #我有这么多水,exchange个瓶子可以兑换一瓶水
    #意思就是numexchange的数量是会发生改变的
    #而且一次只可以交换一个满水瓶
    def numWaterBottles(self, numBottles, numExchange):
        """
        :type numBottles: int
        :type numExchange: int
        :rtype: int
        """
        count=numBottles
        now_exchange=numBottles
        while (now_exchange//numExchange)>=1:
            count+=1
            #现在有的空瓶子的数目
            print(now_exchange)
            print('1',numExchange)
            now_exchange=(now_exchange%numExchange)+((now_exchange//numExchange)-1)*(numExchange)+1
            numExchange+=1
        return count
solution=Solution()
result=solution.numWaterBottles(10,3)
print(result)

但是其实每次只置换一瓶,就没必要这个除法了 那么条件就是如果剩余空水瓶数目大于等于置换一瓶水需要的空水瓶数目,便可以继续,所以我们可以写出更简单的代码

如果喜欢这个帖子,欢迎点赞收藏

相关推荐
寻星探路3 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
你撅嘴真丑5 小时前
第九章-数字三角形
算法
uesowys5 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
ValhallaCoder5 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
董董灿是个攻城狮5 小时前
AI 视觉连载1:像素
算法
智驱力人工智能6 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
猫头虎6 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
孞㐑¥7 小时前
算法——BFS
开发语言·c++·经验分享·笔记·算法
八零后琐话7 小时前
干货:程序员必备性能分析工具——Arthas火焰图
开发语言·python
月挽清风7 小时前
代码随想录第十五天
数据结构·算法·leetcode