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

绍兴公司网站建设 中企动力绍兴甘肃省建设厅网站官网

绍兴公司网站建设 中企动力绍兴,甘肃省建设厅网站官网,wordpress内涵主题,建站工具介绍1、堆 我们可以维护一个堆,首先我们将数组中不为0的数全部加入堆中,而后进行循环。当堆不为空时,我们将堆顶元素出堆并减一,而后观察是否还能继续出堆,若能则出堆,否则跳过,最后我们将处理后的…

在这里插入图片描述

1、堆

我们可以维护一个堆,首先我们将数组中不为0的数全部加入堆中,而后进行循环。当堆不为空时,我们将堆顶元素出堆并减一,而后观察是否还能继续出堆,若能则出堆,否则跳过,最后我们将处理后的新元素入堆,如此循环直至堆为空。

class Solution {
public:int fillCups(vector<int> &amount) {priority_queue<int, vector<int>> maxHeap;int res = 0;for (int i: amount) {if (i == 0) {continue;}maxHeap.push(i);}while (!maxHeap.empty()) {int top1, top2;top1 = maxHeap.top();maxHeap.pop();--top1;if (!maxHeap.empty()) {top2 = maxHeap.top();maxHeap.pop();--top2;if (top2 != 0) {maxHeap.push(top2);}}if (top1 != 0) {maxHeap.push(top1);}++res;}return res;}
};

2、数学

我们可以直接使用数学方法解决问题。我们首先对元素进行排序:1、若最大元素大于等于两外两个元素之和,则说明我们最少也要花费最大元素秒;2、若最大元素小于两外两个元素之和,则说明我们可以通过组合实现接满水,因此花费的时间为元素之和除二向上取整。

int fillCups(vector<int> &amount) {sort(amount.begin(), amount.end());if (amount[2] >= amount[0] + amount[1]) {return amount[2];} else {int sum = 0;for (int i: amount) {sum += i;}return (sum + 1) / 2;}
}
http://www.yayakq.cn/news/773053/

相关文章:

  • 个人公众号做网站做网站需要留什么
  • 合肥网站建设哪家公司好wordpress轻博客模板
  • 网站域名后缀cc网站左侧分类导航菜单
  • 自学编程网站wordpress 搜索引擎平台
  • 电影网站开发库表结构企业门户网站建设与发展趋势
  • 万网网站后台管理软件开发文档的需求分析
  • 成都房地产网站建设无锡网站建设哪家做
  • 企业网站建设目的wordpress用户名更改
  • 宁波网站建设详细策划中国机械加工网制造
  • 上海的建设网站制作济南模板建站软件
  • 北京的重要的网站app开发的知名公司有哪些
  • 免费网站制作模板分销商城平台开发
  • 做购物车网站多少钱1688淘宝货源一件代发
  • 网站公告栏模板网站怎么推广效果最好
  • 广安建设网站一个人做网站好做吗
  • 网站弹窗公告代码汕头网站外包
  • 提供网站制作公司哪家专业网站建设颜色代码
  • 官方门户网站j建设的必要性开设计公司客源哪里找
  • 厦门网站建站公司php网站的优势
  • cloudflare做侵权网站免费空间网
  • 跨境电商知名网站建设长沙网站建设价格
  • 深圳最简单的网站建设深圳市建设行业门户网站
  • 网站制作技术使用说明关于网站建设的策划案
  • wordpress建m域名网站广州最好网站建设公司
  • 网站浏览器兼容性问题吗网络信息
  • 西安做网站的网站超级推广
  • 点击网站首页域名又添加一个网站开发常用的语言
  • 做网站系统用什么语言建网站培训学校
  • 网站建设一般需要多久机构ui设计培训
  • 网站要怎么盈利昆明百度关键词优化