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

e语言可以做网站吗西宁市建设网站公司电话

e语言可以做网站吗,西宁市建设网站公司电话,中国制造网的网络营销方式,办公室装修设计理念简短范文2024.2.6 题目来源我的题解方法一 贪心优先队列 题目来源 力扣每日一题;题序:LCP 30 我的题解 方法一 贪心优先队列 思路:使用贪心的思想,从左到右遍历,若遇到加上当前房间的生命值后小于等于0,由于需要…

2024.2.6

      • 题目来源
      • 我的题解
        • 方法一 贪心+优先队列

题目来源

力扣每日一题;题序:LCP 30

我的题解

方法一 贪心+优先队列

思路:使用贪心的思想,从左到右遍历,若遇到加上当前房间的生命值后小于等于0,由于需要调整的次数最小,则贪心地将当前以及前面房间中生命值最小的移到末尾。直到遍历完所有房间。
具体:在遍历房间的过程中,将为负数的生命值加入到一个小根堆pq中,当计算完每个房间的生命值sum影响后,如果生命值sum小于等于0,则将堆顶元素取出,并使用外的变量other记录从小根堆pq中取出元素的和,这时需要在生命值中补回相应的生命值以及调整次数加1。当遍历完所有房间有,再将other的值重新加入到sum中,若最终的sum小于等于0,则表示无解。

时间复杂度:O(nlogn)。需要遍历一次数组O(n),并且遍历过程中存在优先队列的入队和出队操作O(logn)
空间复杂度:O(n)。最多所有的元素都为负数。

public int magicTower(int[] nums) {
//记录交换的次数int count=0;//记录和,有坑……可能出现整形溢出long sum=1;//交换到末尾的值的和int other=0;PriorityQueue<Integer> pq=new PriorityQueue<>();for(int i=0;i<nums.length;i++){int t=nums[i];//若为负数加入到小根堆if(t<0)pq.offer(t);//更新和sum+=t;//判断更新后的和是否小于等于0if(sum<=0){int temp=pq.poll();//补回生命值sum-=temp;//交换到末尾的和other+=temp;count++;}}//最终加上交换到末尾的负数和sum+=other;return sum>0?count:-1;
}

有任何问题,欢迎评论区交流,欢迎评论区提供其它解题思路(代码),也可以点个赞支持一下作者哈😄~

http://www.yayakq.cn/news/785160/

相关文章:

  • sae 网站备案社交分享 wordpress
  • 重庆专业网站公司网站免费申请
  • 怎么弄百度网站咨询机构
  • 网站专题制作软件wordpress换nginx 数据库
  • 做电影网站解析建立公司网站流程
  • 服务好的高端网站建设公司外贸网站镜像
  • 建设考试的报名网站金山网站建设公司
  • 大淘客网站如何做seo好的网站设计网站
  • 西安市网站建设公司网站开发成本计算
  • 网站统计模块智联招聘网站建设
  • 如何建设考研网站网站类型后缀
  • wordpress+众筹网站模板做网站需要哪些硬件
  • 充值中心网站怎么做汕头企业网站建设
  • 电子商务企业网站的基本功能代做网页设计作业价格
  • 护肤品网站建设分析常用的seo网站优化排名
  • 免费域名网站上海闸北网站建设
  • 网站开发教学视频教程学wordpress不需要学DW
  • 哦咪咖网站建设怎么根据网站前端做网站后台
  • 网站选项按钮新手做视频网站好
  • 宁波慈溪网站建设东莞免费建站在线咨询
  • 电商网站介绍广州h5网站制作
  • 建网站的网站wordpress微信设置密码
  • 物流网站做那个好苏州公司网站开发
  • 可以免费做试卷题目的网站wordpress站群源码
  • 蛋品 东莞网站建设WordPress 网站小图标
  • wordpress怎安装快速整站优化
  • 三合一 网站 前端顺义推广建站
  • 做单页网站盈利案例淘宝客网站开发一个
  • 广州企业网站推广游戏优化大师
  • 网站开发设计电子书个人站长做电音网站