力扣题目练习 换水问题

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)

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

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

相关推荐
方知我9 分钟前
NumPy一小时速成
开发语言·python·numpy
IPdodo_12 分钟前
静态 IP 访问异常排查:403/429 归因与迁移验收
服务器·网络·数据库·python·网络协议·php·性能测试
ZhouDevin18 分钟前
算法论文/数据集5——AlignPrune(CVPR2026)基于样本损失时间序列精确识别噪声样本
算法
Zengs21 分钟前
Python 脚本日志怎么分级落盘?排错时一次找准现场
python
baopixiaoz1 小时前
BeeQuant × BeeAgent:AI量化新范式
大数据·人工智能·python·区块链
十铭忘1 小时前
HMM(隐马尔可夫模型)的理解7——Baum–Welch 算法
人工智能·算法
IT毕设实战小研1 小时前
基于大数据的AI应用对就业与收入增长的区域差异分析及可视化
大数据·人工智能·python·随机森林·机器学习·课程设计
摆烂老大1 小时前
论文学习 | Expert Systems With Applications2026 | 可微分建模:S4D-HBV
python·学习·水文
明月_清风2 小时前
十大经典排序算法 Go 实现全解:从入门到面试通关
后端·算法·排序算法
程序员夏洛2 小时前
谈谈你了解的最常见的几种设计模式,说说他们的应用场景
开发语言·python·模板方法模式