当前位置: 首页 > news >正文

贵阳建设企业网站百度在线下载

贵阳建设企业网站,百度在线下载,wordpress网站打包app,网站开发 需求2335. 装满杯子需要的最短总时长 题目描述 现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。 给你一个下标从 0 开始、长度为 3 的整数数组 amount ,其中 amount[0]、amount[1] 和 a…

2335. 装满杯子需要的最短总时长

题目描述

现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。

给你一个下标从 0 开始、长度为 3 的整数数组 amount ,其中 amount[0]、amount[1] 和 amount[2] 分别表示需要装满冷水、温水和热水的杯子数量。返回装满所有杯子所需的 最少 秒数。


示例 1

输入:amount = [1,4,2]
输出:4
解释:下面给出一种方案:
第 1 秒:装满一杯冷水和一杯温水。
第 2 秒:装满一杯温水和一杯热水。
第 3 秒:装满一杯温水和一杯热水。
第 4 秒:装满一杯温水。
可以证明最少需要 4 秒才能装满所有杯子。


示例 2

输入:amount = [5,4,4]
输出:7
解释:下面给出一种方案:
第 1 秒:装满一杯冷水和一杯热水。
第 2 秒:装满一杯冷水和一杯温水。
第 3 秒:装满一杯冷水和一杯温水。
第 4 秒:装满一杯温水和一杯热水。
第 5 秒:装满一杯冷水和一杯热水。
第 6 秒:装满一杯冷水和一杯温水。
第 7 秒:装满一杯热水。


示例 3

输入:amount = [5,0,0]
输出:5
解释:每秒装满一杯冷水。


提示

  • amount.length == 3
  • 0 <= amount[i] <= 100

算法一:贪心 + 数学思想

思路

  • 将饮料按数量从大到小排序, 设数量为 a, b, c 。
  • 如果 a >= b + c ,每次可以用一个 a 和 b / c 匹配 ,因此答案就是 a;
  • 如果 a < b + c,我们考虑超出的部分,记为 dis = (b + c - a)。
    • 如果 dis 是偶数,那么我们可以先让 b 和 c 匹配 dis / 2 次 ,操作过后有 b + c = a, 此时每次可以用一个 a 依次和 b / c 匹配, 所以答案为 dis/2 + a;
    • 如果 dis 是奇数,那么我们可以先让 b 和 c 匹配 dis-1 / 2 次 ,操作过后有 b + c - 1 = a, 此时每次可以用一个 a 依次和 b / c 匹配, 所以答案为 (dis-1)/ 2 + a;
      上述两种情况可以合并为:(dis+1) / 2 + a 。

收获

  • 这一题之前做过类似的,1753. 移除石子的最大得分 。 因此做这道题的时候一直在回想之前是怎么完成的, 但是一直没想出来,最后想到了要分 a >= b+c 和 a < b+c 两种情况,但是第二种情况没有正确写出来。

    查看了 1753 这道题后发现,二者有些不同,本题需要使数组中每个元素都为 0 ,而之前那道题只需要有 2 个元素为 0 。

算法情况

  • 时间复杂度:O(1)
  • 空间复杂度:O(1)

代码

class Solution {
public:int fillCups(vector<int>& amount) {// 从大到小排序sort(amount.begin(), amount.end(), greater());int a = amount[0], b = amount[1], c = amount[2];if(a >= b + c)  return a;else{int dis = b + c - a;return (dis + 1) / 2 + a;}}
};
http://www.dinnco.com/news/31881.html

相关文章:

  • 做网站公司的介绍软文标题大全
  • 标志设计欣赏网站推广的十种方式
  • 线上外贸平台有哪些广州专做优化的科技公司
  • 大学html网站建设作业谷歌aso优化
  • url短网址在线生成福州seo推广优化
  • 玩具网站建设阿里云模板建站
  • 新手做的网站推广游戏赚钱的平台
  • 惠阳网站制作公司天津网站优化公司
  • 品牌网络推广公司排名公司优化是什么意思
  • 广东网站开发软件长沙网络营销学校
  • 做网站能用ai做吗推广渠道怎么写
  • 想采集某类型网站怎么做线上营销课程
  • 跨境电商网站开发技术北京优化网站公司
  • h5个人网站代码技能培训学校
  • 网站制作完成需要进行哪些测试如何去推广自己的产品
  • seo常用工具网站可以入侵的网站
  • 保定网站建设培训班智慧软文发稿平台
  • 企业网站有哪些例子网络营销环境分析包括哪些内容
  • wordpress怎么做双语站百度搜索关键词优化
  • 做网站需要备案吗b2b外贸接单平台
  • 视频网站的防盗链是怎么做的网络做推广广告公司
  • 专做冷冻食品批发的网站廊坊seo排名公司
  • table做的电脑端网站改成手机板百度官方网站网址是多少
  • 律师事务所 网站模板经典营销案例100例
  • 做营养的网站武汉网站seo公司
  • 广宗网站建设站长统计app软件大全
  • 长滚动页网站开发怎样建立自己网站
  • 国家企业信息系统官方独立站seo是什么
  • 酒店网站建设注意什么网页设计与制作模板
  • 微网站 建设方案网站建设优化哪家公司好