小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒。你购入了 numBottles 瓶酒。

如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的。

请你计算 最多 能喝到多少瓶酒。

提示:

  • 1 <= numBottles <= 100
  • 2 <= numExchange <= 100

解法一

class Solution {public int numWaterBottles(int numBottles, int numExchange) {int count = 0;int numNull = 0;    //兑换后剩余的空瓶子个数while (numBottles > 0) {count += numBottles;int temp = numBottles + numNull;  //记录此时空瓶的个数numBottles = temp / numExchange;  //兑换得到的新酒瓶数numNull = temp % numExchange;     //兑换后剩余的空瓶数 }return count;}
}

解法二

公式

class Solution {public int numWaterBottles(int numBottles, int numExchange) {return (numBottles * numExchange - 1) / (numExchange - 1);}
}


公式的计算过程可以去题解区看,果然会数学的都是大佬。

【LeetCode】1518. 换酒问题(Java)相关推荐

  1. LeetCode 1518. 换酒问题

    目录结构 1.题目 2.题解 2.1模拟 2.2公式 1.题目 小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒.你购入了 numBottles 瓶酒. 如果喝掉了酒瓶中的酒, ...

  2. leetcode:1518.换酒问题

    题目 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/water-bottles 小区便利店正在促销,用 numExchange 个空酒瓶可以兑 ...

  3. leetcode 1518 换酒问题

    https://leetcode-cn.com/problems/water-bottles/ 题目 小区便利店正在促销,用numExchangenumExchangenumExchange个空酒瓶可 ...

  4. Leetcode 1518. 换酒问题 (经典数学问题,换汽水,从贪心思维模拟,到推公式)

    喝最多的策略就是只要满足条件,就换汽水喝) class Solution { public:int numWaterBottles(int numBottles, int numExchange) { ...

  5. 【每日一题】 1518. 换酒问题

    [每日一题] 1518. 换酒问题 避免每日太过咸鱼,一天搞定一道LeetCode算法题 一.题目描述 小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒.你购入了 numBot ...

  6. 【快乐水题】1518. 换酒问题

    原题: 力扣链接:1518. 换酒问题 题目简述: 小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒.你购入了 numBottles 瓶酒. 如果喝掉了酒瓶中的酒,那么酒瓶就会 ...

  7. 2022-1-17 1518.换酒问题

    class Solution {public:int numWaterBottles(int numBottles, int numExchange) {int maxDrike = numBottl ...

  8. LeetCode之换酒问题(一千五百一十八)

    目录 题目 解题 方法一.暴力法 方法二.数学法 题目 (原题链接:https://leetcode-cn.com/problems/water-bottles/) 小区便利店正在促销,用 numEx ...

  9. LeetCode刷题进阶之换酒问题(1518)

    一.题目 演示示例: 二.测试代码 //方法一 数学 class Solution {public int numWaterBottles(int numBottles, int numExchang ...

最新文章

  1. 独家 | 一文读懂Corda分布式记账技术
  2. Android Wear开发 - 数据通讯 - 第二节 : 数据的发送与接收
  3. 利用getLayoutParams()方法和setLayoutParams()方法
  4. boost::fusion::join用法的测试程序
  5. SpringMVC拦截器-快速入门详解(应用)
  6. 如何去除Eclipse Maven插件里关于Managed version的警告消息
  7. html 制作复杂table
  8. Hadoop入门(二十一)Mapreduce的求和程序
  9. Windows下Spring3.x计划任务实现定时备份MySql数据库
  10. LeetCode15:三数之和(转载思路)
  11. linux rkt命令,rkt 1.13.0发布,CoreOS的容器引擎
  12. 如何自学python-如何自学python语言
  13. jsp下Kindeditor环境搭建
  14. Linux下l2tp客户端xl2tpd安装配置的具体操作
  15. 解读Depth Map Prediction from a Single Image using a Multi-Scale Deep Network (2)
  16. wowza流媒体服务器安全设置
  17. 志强:微商微信如何引流加人?
  18. 软件工程中英对照术语表
  19. 透过上网管理 看看上班时间员工都在干啥?
  20. 3-----A Forcast for Bicycle Rental Demand Based on Random Forests and Multiple Linear Regression

热门文章

  1. 统计物理双原子分子定容热容图像(平动热容、转动热容、振动热容)
  2. 供应正品SKM200GB128
  3. yii2使用Migrations为整个数据库表创建迁移
  4. 加强云上探索与实践,筑牢数字经济发展之根
  5. NSGA-III相关笔记
  6. Exchange 20002003书籍教程下载和资源总汇
  7. 编写程序,实现按出生日期排序(结构体专题)。
  8. Java8 新特性 -- Lambda表达式:函数式接口、方法的默认实现和静态方法、方法引用、注解、类型推测、Optional类、Stream类、调用JavaScript、Base64
  9. js网站上添加tweet facebook google+等英文分享按钮代码
  10. 使用Docker搭建NextCloud私人云盘+Collabora文件预览编辑