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

定制网站建设报价单12380举报网站制度建设

定制网站建设报价单,12380举报网站制度建设,seo工作室合作,厦门网站建设制作从0开始的秋招刷题路,记录下所刷每道题的题解,帮助自己回顾总结 2335. 装满杯子需要的最短总时长 现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。 给你一个下标从 0 开…

从0开始的秋招刷题路,记录下所刷每道题的题解,帮助自己回顾总结

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

贪心:尽可能多的装两杯,总次数就是sum(a[i]) / 2 (上取整)
如果a[0], a[1], a[2]其中某一个数>=另外两个,那总次数就是a[i]_max,
法一: 数学问题

class Solution {
public:int fillCups(vector<int>& a) {sort(a.begin(), a.end());if (a[0] + a[1] <= a[2]) return a[2];return (a[0] + a[1] + a[2] + 1) / 2;}
};

优化

class Solution {
public:int fillCups(vector<int>& a) {return max({a[0], a[1], a[2], (a[0] + a[1] + a[2] + 1) / 2}); //注意这里要加 max( {  } ) ;}
};

法二:堆 (本质和排序一样)
思路 :

把数组建成大根堆。

每一次都尽量装 2 杯不同的水 ( 每次都取出最大值t1和次大值t2 )

2.1 若!t1 直接break返回res (整个堆的元素都是 0 )

2.2 若t1 >= 1 && t2 >= 1,就装这两杯水 同时heap.insert(t1 - 1 and t2 - 1)

2.3 若t1 >= 1 && !t2 ,res += t1,然后break返回res

注意: 我们只关心剩余的杯数量,而不关心具体装的是什么水,所以只需要维护剩余杯数的具体数值即可,不需要知道其对应的水的属性

class Solution {
public:int fillCups(vector<int>& amount) {// greedy  -> 每次都尽量装两杯满水int res = 0;priority_queue<int> heap; // 大根堆for (auto &x: amount)heap.push(x);while (heap.size()){int t1 = heap.top();heap.pop();int t2 = heap.top();heap.pop();if (!t1) break; // 当前队列最大值是 0 说明所有 amount 都装满了 if (t1 >= 1 && t2 >= 1){heap.push(t1 - 1);heap.push(t2 - 1);}else if (t1 >= 1 && !t2){res += t1;break;}res ++;}return res;}
};
http://www.yayakq.cn/news/146946/

相关文章:

  • app制作教学视频wordpress 中文 seo 插件
  • 云南省建设厅网站建设 网站协议
  • 仿牌网站空间邯郸研情网络科技有限公司
  • 专业做seo的网站百度风云排行榜
  • 网站首页设计图片简约嵌入式软件开发工具的发展趋势是什么
  • 建设网站前期准备工作广告设计用的软件
  • 手机电子商务网站建设问卷调查wordpress内链 非插件
  • 重庆智能网站建设企业图书购物网站开发的业务分析
  • 自己做网站需要主机吗网络域名地址
  • 建设网站加推广十六局集团门户网
  • 如何建设类似大众点评网站做网站设计要多少钱
  • 网站制作合同模板上海谷歌seo公司
  • 兰州市建设局官方网站网站为什么要icp备案
  • 上海建设网站便宜的产品开发流程图模板
  • 优秀定制网站建设案例网站排名不可有利就前
  • 四川建设学网官方网站登录在线网站排名工具
  • Asp做网站前期准备搭建网站怎么赚钱
  • 个人备案后可以做电影网站吗网络宣传的方法渠道
  • 做淘宝详情页好的网站如何将wordpress上传到站点
  • 云阳营销型网站建设最简单的做网站的工具
  • 网站的登录注册页面怎么做公司做网站需要准备什么
  • 高端文化网站模板网站主播
  • 网站后台 教程设计制作ppt时
  • 上海民政网站相关建设情况青岛专业网站制作设计
  • 手机怎么做弹幕小视频网站图书购物网站开发的业务分析
  • 建站之星怎么免费做网站wordpress 企业站主题
  • 媒体网站推进信息化建设免费小程序平台
  • 怎么搞到网站电商网站开发的意义
  • 建设部质监局信息查询官方网站企业网站备案流程
  • 广西网站建设的公司哪里制作企业网站