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

辽阳县住房和城乡建设局网站谷歌官网网址

辽阳县住房和城乡建设局网站,谷歌官网网址,qq是哪个公司开发的地址,微信web开发者工具官网目录 题目: 示例: 分析: 代码运行结果: 题目: 示例: 分析: 题目给我们一个数组,我们每次可以将任意一个元素减半,问我们操作几次之后才可以将整个数组的和减半&…

目录

题目:

示例:

分析:

代码+运行结果:


题目:

示例:

分析:

题目给我们一个数组,我们每次可以将任意一个元素减半,问我们操作几次之后才可以将整个数组的和减半,这里的减半不是刚好减半,而是至少减去一半,所以我们多减一点是没关系的。

如果题目涉及到什么最大最小最多最少,那么我们大概率都是要用到贪心的思想。

既然要操作次数最小,那么我们每次把元素减半都应该尽量多减少一点,所以每次减少元素的一半,我们都应该把数组里最大的元素给减半。

那么我们就可以使用优先队列(大顶堆)来帮助我们维护数组的最大元素,然后每次把队列顶端(最大的数)拿出来,减半以后再放回去,并且把数组和对应的减去这个元素的一半。

如此循环操作直到数组和成功减半,我们返回次数即可。

代码+运行结果:

class Solution {
public:int halveArray(vector<int>& nums) {double SUM=0;priority_queue<double>pq;   //大顶堆(优先队列)for(const int &num:nums){   //统计总和并进入大顶堆SUM+=num;pq.push(num);}double target=SUM/2.0;  //获取总和的一半int res=0;while(SUM>target){  //不断循环直到SUM减半.res++;//获取栈顶(最大元素),把最大元素减半才能减少最多数double temp=pq.top();  pq.pop();temp/=2.0;SUM-=temp;  //总和减去该元素的一半pq.push(temp);  //减半后继续进入大顶堆}return res;}
};

 

http://www.hkea.cn/news/142477/

相关文章:

  • 成都可以做网站的公司百度手机助手最新版下载
  • 赤峰网站建设招聘市场营销互联网营销
  • 网站开发后端需要哪些技术友情链接检索数据分析
  • 金华竞价排名 金华企业网站建设常见的网络营销平台有哪些
  • p2p网站开发关键词seo是什么意思
  • 自己免费怎么制作网站合肥今天的最新消息
  • 今日头条新闻10条简短seo网络优化招聘信息
  • 赣州人才网官方网站关键词seo优化软件
  • cad做兼职区哪个网站郑州网络营销公司排名
  • 宁夏银川做网站的公司有哪些网络营销分类
  • 换物网站为什么做不起来中国免费广告网
  • 可以显示一张图片的网站怎么搭建搜索引擎优化策略
  • 精品课程网站建设论文今天的新闻最新消息
  • 检查网站收录问题蚌埠seo外包
  • 建站展示网站优化网
  • 秦皇岛网站建设价格深圳seo公司
  • 广告型网站建设广州营销网站建设靠谱
  • 包头学做网站平台开发
  • 个人如何做微商城网站指数分布的分布函数
  • 北京网站设计哪家公司好建站工具
  • 深圳外贸网络推广seo诊断书案例
  • Java做网站的基本框架优化关键词规则
  • 网上手机商城网站建设直通车推广计划方案
  • 网站框架是谁做做个电商平台要多少钱
  • 网站开发建设书籍推荐b2b外贸平台
  • 网站首页的布局设计进行优化
  • 无锡做家纺公司网站如何建网站不花钱
  • bootstrap制作的网站页面优化网站seo
  • 海口网站建设优化班级优化大师官网登录
  • 连接品硕网线做怎么弹网站百度地图推广电话