LCP 30. 魔塔游戏

题目

在这里插入图片描述
在这里插入图片描述

原题链接

LCP 30. 魔塔游戏

思路

  1. 如果nums的和加起来小于零的话,那么不管怎么选择都不可能全部访问完,大于零的话是一定有解得;
  2. 大于零就加血,小于零就扣血,但如果血量小于 1,从前面的扣血中,拿出一个扣血量最大的数也就是pq.push(-nums);移到数组的末尾,把之前扣掉的血重新加回来

优先级队列

//升序队列  小根堆 great 小到大
priority_queue<int,vector<int>,greater<int>> pq;

//降序队列  大根堆 less  大到小 默认
priority_queue<int,vector<int>,less<int>> pq1;
priority_queue<int> pq2;

代码

class Solution 
{
   
public:
    int magicTower(vector<int>& nums) 
    {
   
    	//先判断一下有没有解
        int sum = 0;
        for(auto e:nums) sum += e;
        if(sum < 0) return -1;

        int res = 0;//结果
        int hp = 1;//血线
        priority_queue<int> pq;//大根堆
        for(auto e:nums)
        {
   
            if(e < 0) pq.push(-e);

            hp += e;
            if(hp < 1)
            {
   
            	//这意味着 e < 0,前面会把 e 入堆
                hp += pq.top();//之前扣得最多的血加回来
                pq.pop();
                res ++;
            }
        }
        return res;

    }
};

相关推荐

  1. LCP 30. 游戏

    2024-02-16 11:02:01       45 阅读
  2. LCP 30. 游戏---leetcode

    2024-02-16 11:02:01       54 阅读
  3. 每日一题 力扣LCP30.游戏

    2024-02-16 11:02:01       46 阅读
  4. LeetCode每日一题 | LCP 30. 游戏

    2024-02-16 11:02:01       50 阅读
  5. LCP 30. 游戏 - 力扣(LeetCode)

    2024-02-16 11:02:01       46 阅读
  6. LeetCode LCP 30.游戏:贪心(优先队列)

    2024-02-16 11:02:01       58 阅读
  7. 贪心+堆维护,LCP 30. 游戏

    2024-02-16 11:02:01       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-16 11:02:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-16 11:02:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-16 11:02:01       82 阅读
  4. Python语言-面向对象

    2024-02-16 11:02:01       91 阅读

热门阅读

  1. 什么时候需要 / 不需要创建索引?

    2024-02-16 11:02:01       73 阅读
  2. 通过`ssh`同步`tmux`剪贴板内容

    2024-02-16 11:02:01       47 阅读
  3. 《Docker极简教程》--Docker容器--Docker容器的概念

    2024-02-16 11:02:01       56 阅读
  4. 内网穿透与搭建私人服务器

    2024-02-16 11:02:01       48 阅读
  5. 如何使用AIGC才能有利于创新能力的培养

    2024-02-16 11:02:01       55 阅读
  6. Rust Option类型详解

    2024-02-16 11:02:01       54 阅读
  7. Rust 初体验4

    2024-02-16 11:02:01       56 阅读
  8. 如何使用 Python 通过代码创建图表

    2024-02-16 11:02:01       48 阅读