双11搞促销,我们本文就是要用贪心算法来计算最终答案( 二 )
我们将以上代码提交至 LeetCode , 执行结果如下:
文章图片
代码实现 2:贪心改进
以上的贪心算法是一瓶酒一瓶酒进行循环兑换的 , 那我们可否每次将所有的空瓶子全部兑换完(可兑换的最大值)将兑换的酒再喝完 , 再进行下一次兑换?
答案是肯定的 , 我们只需要使用取模和取余操作就可以实现了 , 具体代码如下:
// 贪心 2:用 / 和 % 实现
class Solution
public int numWaterBottles(int numBottles ,int numExchange)
// 总酒瓶数
int total = numBottles 。
// 有酒瓶就兑换
while (numBottles >= numExchange)
// 最多可兑换的新酒
int n = numBottles / numExchange 。
// 累计酒瓶
total += n 。
// 剩余酒瓶(剩余未兑换 + 已兑换喝掉的)
numBottles = numBottles % numExchange + n 。
return total 。
我们将以上代码提交至 LeetCode , 执行结果如下:
文章图片
总结
贪心算法初看感觉很“难”但具体实现起来却发现很简单 。 其实算法也是一样的 , 初看这个词感觉很难很高大上 , 其实它就是解决某个问题的一种思想、一种固定的“套路”而已 , 也并无神秘可言 。
人常说:路虽远行则将至 , 事虽然难做者必成 。 “难”和“易”从来都是相对的 , 其实从“难”到“易”就是一个逐渐开悟、逐渐成长的过程 。
参考 & 鸣谢
本文相关词条概念解析:
贪心
贪心 , 汉语词语 , 指欲望大 , 不知足 。 此词延伸出了很多歌曲、游戏、算法等事物 。 ”浩然《艳阳天》第一二七章:“马斋往办公室走的这一路 , 又遇上了两个可以说进话的人 , 又是一通猛煽猛点 , 又把他们埋在胸膛的贪心邪火给鼓捣起来了 。 关于詹雅雯5岁学会了第一首歌(为伊走千里),与颖川老师结识进入歌坛 , 雅雯让老师是最为头痛的一个 。 颖川老师创立雅鹂唱片公司 , 雅雯当护佐 , 并出了首张专辑樱花姊妹走唱 , 陆续录制了8张樱花姊妹吉他走唱专辑 , 共出48张专辑 。
推荐阅读
- 中介网|一个网站可以有多个域名吗
- 美国|奥巴马直言:"美国的对手们已经看到我们衰弱了"
- 西泽金融研究院|从商品货币、法币到如今的加密货币:历史告诉了我们什么?
- 变废为宝|科学素养 从小培养
- 大数据|精准推送、大数据杀熟……我们需要什么样的“算法”
- 胖仔|亚马逊测评你想知道的
- 苏宁金融研究院|金融科技强监管,银行是受益者吗?
- 紫金财经|房价上涨城市数量减少,临近年底,房企或将继续推盘促销
- 人民日报|我们需要什么样的“算法”?
- 行业互联网|2020十大新兴技术揭晓!每一项都可能颠覆我们的生活