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

淘客网站怎么做淘口令优化大师免费下载安装

淘客网站怎么做淘口令,优化大师免费下载安装,网站建设怎么更换图片,做外汇关注的网站【LetMeFly】LCP 30.魔塔游戏:贪心(优先队列) 力扣题目链接:https://leetcode.cn/problems/p0NxJO/ 小扣当前位于魔塔游戏第一层,共有 N 个房间,编号为 0 ~ N-1。每个房间的补血道具/怪物对于血量影响记于…

【LetMeFly】LCP 30.魔塔游戏:贪心(优先队列)

力扣题目链接:https://leetcode.cn/problems/p0NxJO/

小扣当前位于魔塔游戏第一层,共有 N 个房间,编号为 0 ~ N-1。每个房间的补血道具/怪物对于血量影响记于数组 nums,其中正数表示道具补血数值,即血量增加对应数值;负数表示怪物造成伤害值,即血量减少对应数值;0 表示房间对血量无影响。

小扣初始血量为 1,且无上限。假定小扣原计划按房间编号升序访问所有房间补血/打怪,为保证血量始终为正值,小扣需对房间访问顺序进行调整,每次仅能将一个怪物房间(负数的房间)调整至访问顺序末尾。请返回小扣最少需要调整几次,才能顺利访问所有房间。若调整顺序也无法访问完全部房间,请返回 -1。

示例 1:

输入:nums = [100,100,100,-250,-60,-140,-50,-50,100,150]

输出:1

解释:初始血量为 1。至少需要将 nums[3] 调整至访问顺序末尾以满足要求。

示例 2:

输入:nums = [-200,-300,400,0]

输出:-1

解释:调整访问顺序也无法完成全部房间的访问。

提示:

  • 1 <= nums.length <= 10^5
  • -10^5 <= nums[i] <= 10^5

方法一:贪心(优先队列)

使用一个优先队列pq记录所有的负数房间(绝对值越大的负数房间越优先出栈),从前到后遍历所有房间,并将房间的值累加到自己的血量上(若房间值为负记得加入优先队列)。

一旦遇到自己的血量不为正数的情况,就开始反悔:将队列中绝对值最大的负数房间调整到队尾(血量恢复这个房间的绝对值的量,并记录一共有多少房间移动到了队列尾)。

一旦出现血量非正且队列为空的情况,立刻返回-1。若遍历结束,看血量是否大于移动到队尾的所有房间绝对值之和。

  • 时间复杂度 O ( l e n ( n u m s ) ) O(len(nums)) O(len(nums))
  • 空间复杂度 O ( l e n ( n u m s ) ) O(len(nums)) O(len(nums))

AC代码

C++
class Solution {
public:int magicTower(vector<int>& nums) {priority_queue<int> pq;long long now = 1;long long totalNegative = 0;int ans = 0;for (int t : nums) {if (t < 0) {pq.push(-t);}now += t;while (now <= 0 && pq.size()) {int thisNegative = pq.top();pq.pop();now += thisNegative;totalNegative += thisNegative;ans++;}if (now <= 0) {return -1;}}return now > totalNegative ? ans : -1;}
};
Python
# from typing import List
# import heapqclass Solution:def magicTower(self, nums: List[int]) -> int:pq = []now = 1totalNegative = 0ans = 0for t in nums:if t < 0:heapq.heappush(pq, t)now += twhile now <= 0 and pq:thisNegative = -heapq.heappop(pq)totalNegative += thisNegativenow += thisNegativeans += 1if now <= 0:return -1return ans if now > totalNegative else -1

同步发文于CSDN,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/136053198

http://www.ds6.com.cn/news/64515.html

相关文章:

  • 常州网站建设公司信息社群营销的案例
  • 学做衣服网 缤纷网站浏阳廖主任打人案
  • 广州网上注册公司南昌seo推广公司
  • 北京网站公安局备案流程黄页引流推广网站
  • 做网站手机模板app目前引流最好的app
  • 黑龙江省建设网站强化防疫指导
  • 注册个体可以做网站吗深圳全网推广效果如何
  • 电子商务网站开发公司优化营商环境心得体会个人
  • 做英文简历的网站地推接单正规平台
  • 校园网站建设培训百度一下电脑版网页
  • dreamweaver网站教程全国互联网营销大赛官网
  • 全球十大网站排名免费发布推广平台
  • 怎样打开用sql做的网站如何制作企业网站
  • 曲靖网站建设0doit网站建设策划书案例
  • 广州华优_网站建设公司优化清理大师
  • 企业网站建设制作公司哪家好成都网站关键词推广
  • 邯郸城乡建设部网站首页天津网站建设优化
  • 宁波住房和城乡建设官网东莞seo排名外包
  • 大学生怎么做网站支付模块深圳开发公司网站建设
  • 做消防哪些网站找工作新站优化案例
  • 帮人做违法网站seo挂机赚钱
  • 如何自己学做网站北京关键词优化平台
  • 沙漠风网站建设百度账号客服人工电话
  • 医院网站建设利法拉网络成都网站优化排名
  • 网站开发武汉公司知乎seo排名帝搜软件
  • 阜新公司做网站常德论坛网站
  • 河北公司网站制作设计系列推广软文范例
  • 林州网站建设服务关键字有哪些
  • 北京上云网站建设公司seo分析seo诊断
  • 网站开发必须要要掌握的语言在线优化网站