LeetCode LCP 30. 魔塔游戏(优先队列)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

小扣当前位于魔塔游戏第一层,共有 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

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/p0NxJO
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 把怪兽的体力值加入优先队列,并记录其总和
  • 当体力不足时,把体力最大的怪兽移到末尾,移到次数 +1
class Solution {
public:int magicTower(vector<int>& nums) {long long sum = accumulate(nums.begin(), nums.end(), 1LL);// long long 写的 int 报错了好多次。。。 if(sum <= 0) return -1; // 体力值不够,不可能过关long long v = 1, delta = 0, ans=0;priority_queue<int> q;for(int i = 0, j; i < nums.size(); ++i){   if(nums[i] < 0){ // 怪兽,加入优先队列q.push(-nums[i]);delta = delta-nums[i];//记录所有怪兽的总和(正值)}elsev = v+nums[i];//自己的体力while(v-delta <= 0 && !q.empty()){	// 当自己的体力不够打怪兽的时候,把前面最大的怪兽挪到最后int tp = q.top();//怪兽的攻击值q.pop();delta = delta-tp;//剩余的怪兽的攻击总值ans++;//移动一次}}return ans;}
};

160 ms 68.8 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/14876.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

漫画:我再也无法正常使用ChatGPT了!

哈哈&#xff0c;大家不必担心&#xff0c;上面的漫画只是给大家开个玩笑&#xff0c;ChatGPT当然不可能这么容易就被玩坏。 想要真正结束游戏其实很容易&#xff0c;输入一些关键字就可以触发游戏的结束&#xff0c;比如这样说&#xff1a; 这样一来&#xff0c;ChatGPT就能恢…

我请ChatGPT帮我创建一些漫画,大家一起来看看

英文 | https://medium.com/chazhutton/i-asked-chatgpt-to-create-comics-then-i-drew-them-6e9622dfc30e 翻译 | 杨小爱 到目前为止&#xff0c;我想&#xff0c;你可能已经听说过 ChatGPT&#xff0c;这是一款开放式 AI 聊天机器人&#xff0c;它似乎无所不能&#xff0c;可…

我给AI打工!ChatGPT负责创作漫画,我负责画出来,居然搞出超现实主义?

点击上方“AI遇见机器学习”&#xff0c;选择“星标”公众号 重磅干货&#xff0c;第一时间送 大数据文摘出品 最近ChatGPT太火了&#xff0c;想必大家都玩的不亦乐乎吧&#xff1f; 不管是提什么稀奇古怪的要求&#xff0c;ChatGPT似乎都能给你满意的答案。 当然&#xff0c;有…

如何使用Flutter+SpringBoot+Mysql开发一个简易的抽奖APP(Android)教学

如果你需要项目资源&#xff0c;欢迎来到我的个人博客&#xff1a;https://brath.top/2023/02/24/%E3%80%90Flutter&SpringBoot%E3%80%91%E5%A6%82%E4%BD%95%E7%94%A8Flutter%E5%92%8CJava%E6%9D%A5%E5%BC%80%E5%8F%91%E4%B8%80%E4%B8%AA%E6%8A%BD%E5%A5%96APP/ APP体验地址…

【先睹为快】李德毅 马楠:人工智能看教育

来源&#xff1a; 高等工程教育研究 作者简介&#xff1a;李德毅&#xff0c;中国工程院院士&#xff0c;国际欧亚科学院院士&#xff0c;中国人工智能学会名誉理事长&#xff0c;军事科学院研究员&#xff0c;清华大学博士生导师&#xff1b;马楠&#xff0c;北京工业大学教授…

深度学习各子领域略览及术语列表

诸神缄默不语-个人CSDN博文目录 最近更新时间&#xff1a;2023.6.16 最早更新时间&#xff1a;2023.1.5 有些内容附带了相应的超链接作为可参考资料&#xff0c;有些没有。很多内容可以参考我的其他博文&#xff0c;其中有一部分链接我也会挂到这里来。 文章目录 正文1. ML基…

这是我见过的对ChatGPT原理最佳的解释。

人类语言及其背后的思维模式在结构上比我们想象的更简单、更“符合规律”。 ChatGPT大火&#xff0c;甚至已经开始改变人类的工作和思考方式&#xff0c;充分了解并且认识它&#xff0c;同时看到未来的机会&#xff0c;已经成为每个人迫不及待需要建立的心智。而放眼全球&#…

领域驱动设计(DDD)实践之路(四):领域驱动在微服务设计中的应用

这是“领域驱动设计实践之路”系列的第四篇文章&#xff0c;从单体架构的弊端引入微服务&#xff0c;结合领域驱动的概念介绍了如何做微服务划分、设计领域模型并展示了整体的微服务化的系统架构设计。结合分层架构、六边形架构和整洁架构的思想&#xff0c;以实际使用场景为背…

ChatGPT——NLP大结局?大错特错!NLP还有很多事情可以搞

2022年12月&#xff0c;全球科技圈最瞩目的明星莫过于ChatGPT。这一款来自Open.AI的“聊天机器人”&#xff0c;基本上你可以与它讨论任何话题&#xff0c;不管是简单的问路&#xff0c;还是深刻的哲学探讨&#xff0c;甚至是凭空生成一段代码&#xff0c;它几乎有求必应。用一…

新书上市丨开启学习自然语言处理与ChatGPT的精彩旅程,你需要这本书!

2022年10月30日&#xff0c;ChatGPT 的横空出世&#xff0c;引起了全球范围内的广泛关注。微软创始人比尔盖茨 (Bill Gates) 认为 “ChatGTP 与互联网具有同等重要的意义”。作为一个人工智能系统&#xff0c;ChatGPT 能准确识别用户意图&#xff0c;与用户进行对话并提供有价值…

自然语言处理技术在ChatGPT中的应用

自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;是人工智能领域的一个分支&#xff0c;它的目的是让计算机能够理解、分析、生成自然语言文本。NLP技术已经广泛应用于各个领域&#xff0c;例如机器翻译、语音识别、情感分析等。其中&#xff0c;基于大规…

NLPChatGPTLLMs技术、源码、案例实战210课

NLP&ChatGPT&LLMs技术、源码、案例实战210课 超过12.5万行NLP/ChatGPT/LLMs代码的AI课程 讲师介绍 现任职于硅谷一家对话机器人CTO&#xff0c;专精于Conversational AI 在美国曾先后工作于硅谷最顶级的机器学习和人工智能实验室 CTO、杰出AI工程师、首席机器学习工程…

托福、雅思、GRE、SAT、GMAT

文章目录 1.雅思 IELTS雅思介绍雅思满分 9分雅思只有2年有效期 2.托福 TOEFL托福介绍托福满分 120分 3.GREGRE介绍GRE满分 340分 4.SATSAT介绍SAT满分 1600分 5.GMATGMAT介绍 1.雅思 IELTS 雅思介绍 雅思考试&#xff0c; 全称为国际英语测试系统&#xff08;International E…

恶意代码分析——熊猫烧香

恶意代码分析——熊猫烧香 记录对一些恶意代码的分析的过程 熊猫烧香功能函数总览&#xff1a; 标题 恶意代码分析——熊猫烧香熊猫烧香功能函数总览&#xff1a; 静态分析IDA分析sub_40819Csub_40D18Csub_40A5B0sub_409348 sub_40C374sub_40BACC sub_40D088 参考链接 静态分…

熊猫烧香病毒分析报告

熊猫烧香 基本信息 报告名称&#xff1a;熊猫烧香病毒报告 作者&#xff1a;Pawn 文件名&#xff1a;xiongmao.exe 样本类型&#xff1a;EXE文件 样本文件大小&#xff1a;30,001 字节 样本文件的MD5校验值&#xff1a;512301c535c88255c9a252fdf70b7a03 样本文件SHA1校验值&am…

Prompt learning 教学[进阶篇]:简介Prompt框架并给出自然语言处理技术:Few-Shot Prompting、Self-Consistency等;项目实战搭建知识库内容机器人

Prompt learning 教学[进阶篇]&#xff1a;简介Prompt框架并给出自然语言处理技术&#xff1a;Few-Shot Prompting、Self-Consistency等&#xff1b;项目实战搭建知识库内容机器人 1.ChatGPT Prompt Framework 看完基础篇的各种场景介绍后&#xff0c;你应该对 Prompt 有较深…

ChatGPT如何提升数据开发效率

目录 一、ChatGPT介绍 二、ChatGPT数据应用场景 A、Pyspark代码样例生成 B、Python设计模式推荐 C、Python代码修复能力 D、异常代码的检测​编辑 E、测试数据内容生成 F、数据分析能力 G、报告生成展示 三、结语 一、ChatGPT介绍 1、GPT是什么&#xff1a;大型语言…

《花雕学AI》用Edge和chrome浏览器体验GPT-4智能聊天的神奇免费插件,Sider – 聊天机器人的新选择

你有没有想过和人工智能聊天&#xff1f;你有没有想过用浏览器就能和GPT-4这样的先进的聊天机器人对话&#xff1f;如果你有这样的想法&#xff0c;那么你一定要试试Sider这个神奇的免费插件。 Sider&#xff08;Sider – AI Sidebar&#xff09;是一款基于ChatGPT的智能侧边栏…

家人们,我用ChatGPT来做减肥指引,分享下心得

据我的了解&#xff0c;解决减肥难题可以利用AI技术提供有效的解决方案。通过对个人身体数据和运动习惯的分析&#xff0c;AI能够为每个人量身定制最适合的运动计划。此外&#xff0c;AI还能够运用智能化的语音互动和数据反馈&#xff0c;为每个人提供个性化的运动指导和鼓励&a…

Python 使用chatGPT帮忙写一个有序集类 OrderedSet

需求:需要实现一个有序的集合&#xff0c;像python普通集合一样&#xff0c;除了 它是有序的 我这边穿插着使用了gpt3.5和gpt4,发现确实还是gpt4好用&#xff0c;一分钱一分货啊 问&#xff1a;我的要求是这样&#xff0c;data是一个集合&#xff0c;往里面放了2&#xff0c;…