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

哪个门户网站做推广好建站之星网站

哪个门户网站做推广好,建站之星网站,网站换服务器,网站开发公司按时交付LCP 30. 魔塔游戏 难度: 中等 题目: 小扣当前位于魔塔游戏第一层,共有 N 个房间,编号为 0 ~ N-1。每个房间的补血道具/怪物对于血量影响记于数组 nums,其中正数表示道具补血数值,即血量增加对应数值;负数表示怪物造…

LCP 30. 魔塔游戏

难度: 中等

题目:

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

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

提示:

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

示例 1:

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

输出:1

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

分析

如果全部和加起来是小于等于0的,那么不管怎么排都是不能访问到所有房间的,所以我们可以首先求一下全部的和,注意要开long long,大于0的话就是一定有解的,因为最坏情况我们可以将所有的负数调整到 最后,这样就一定可以全部访问完,那么怎么来求最少要交换多少次呢,如果当前的血量是负数,我们就肯定需要将怪物往后挪,挪哪个怪物呢,因为要挪动次数最少,所以我们考虑挪动前面最厉害的怪物,也就是nums[]最小的,可以证明,这样做是最优的,依次这样访问就可以了,那么怎么快速得到最小的nums[]呢,我们可以用数据结构,是小根堆,,cpp可以使用priority_queue<int, vector<int>, greater<int>>, 这样我们就可以在logn的时间获得最小值,总体时间复杂度是nlogn因为每个元素最多就是进入小根堆1一次

优先队列 + 贪心

class Solution {
public:using LL = long long;int magicTower(vector<int>& nums) {LL sum = accumulate(nums.begin(), nums.end(), 1ll);if (sum <= 0) return -1;int n = nums.size();LL now = 1;int res = 0;priority_queue<int, vector<int>, greater<int>> q;for (int i = 0; i < n; i ++) {if (nums[i] < 0) {q.push(nums[i]);}now += nums[i];if (now <= 0) {res ++;now -= q.top();q.pop();}}return res;}
};

时间复杂度: O ( n l o g n ) O(nlogn) O(nlogn)

结束了

http://www.shuangfujiaoyu.com/news/29226.html

相关文章:

  • 自己动手获取网站访客qq号码推广app下载
  • 温州给企业做网站网站建立的步骤
  • 美国做ppt的网站百度指数查询工具
  • 南京做公司网站天津百度推广开户
  • 小型企业网站模板下载百度搜索风云榜小说排行榜
  • 小说网站如何赚钱域名查询ip
  • 请多记几个本站域名防止失联怎么做属于自己的网站
  • 重庆网站营销seo电话网站关键词怎么添加
  • vps除了做网站还能做什么营销传播
  • 做网站百科上海关键词排名优化公司
  • 深圳福田网站优化网络营销培训学校长沙线上引流公司
  • 七牛云 wordpress成都网站seo排名优化
  • 东台专业做网站搜索引擎优化seo公司
  • 国外有什么网站是做服装的免费代理上网网站
  • 不知此网站枉做男人网络seo优化公司
  • 本地的天津网站建设seo是怎么优化
  • 微信官方网站是什么最新注册域名查询
  • 商丘网站制作软件公司主页网站设计
  • 网站外的seoseo排名点击器原理
  • 建设一个旅游网站的目的是什么下载百度到桌面
  • 建网站难吗?微信引流推广精准粉
  • wordpress快速赚钱石首seo排名
  • 如何用html做网站跨境电商怎么开店铺
  • 中山做网站服务好发布平台有哪些
  • 网站备案用别人身份证百度百科怎么创建自己
  • 莆田自助建站软件免费发布广告信息的网站
  • vue 做网站 seo清博舆情系统
  • 如何做淘宝宜家代购网站矿产网站建设价格
  • 怎么管理网站的内容吗网页设计期末作业模板
  • 如何备份网站 整站线上营销公司