LeetCode LCP 30. 魔塔游戏(优先队列)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode LCP 30. 魔塔游戏(优先队列)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
小扣當前位于魔塔游戲第一層,共有 N 個房間,編號為 0 ~ N-1。
每個房間的補血道具/怪物對于血量影響記于數組 nums,其中:
- 正數表示道具補血數值,即血量增加對應數值;
- 負數表示怪物造成傷害值,即血量減少對應數值;
- 0 表示房間對血量無影響。
小扣初始血量為 1,且無上限。
假定小扣原計劃按房間編號升序訪問所有房間補血/打怪,為保證血量始終為正值,小扣需對房間訪問順序進行調整,每次僅能將一個怪物房間(負數的房間)調整至訪問順序末尾。
請返回小扣最少需要調整幾次,才能順利訪問所有房間。
若調整順序也無法訪問完全部房間,請返回 -1。
來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/p0NxJO
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 把怪獸的體力值加入優先隊列,并記錄其總和
- 當體力不足時,把體力最大的怪獸移到末尾,移到次數 +1
160 ms 68.8 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode LCP 30. 魔塔游戏(优先队列)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1793. 好子数组的
- 下一篇: LeetCode 1822. 数组元素积