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