LeetCode 174. 地下城游戏(DP)
文章目錄
- 1. 題目
- 2. 解題
1. 題目
一些壞人抓住了公主(P)并將她關(guān)在了地下城的右下角。
地下城是由 M x N 個房間組成的二維網(wǎng)格。
我們英勇的騎士(K)最初被安置在左上角的房間里,
他必須穿過地下城并通過對抗壞人來拯救公主。
騎士的初始健康點數(shù)為一個正整數(shù)。
如果他的健康點數(shù)在某一時刻降至 0 或以下,他會立即死亡。
有些房間由壞人守衛(wèi),因此騎士在進(jìn)入這些房間時會失去健康點數(shù)(若房間里的值為負(fù)整數(shù),則表示騎士將損失健康點數(shù));
其他房間要么是空的(房間里的值為 0),要么包含增加騎士健康點數(shù)的魔法球(若房間里的值為正整數(shù),則表示騎士將增加健康點數(shù))。
為了盡快到達(dá)公主,騎士決定每次只向右或向下移動一步。
編寫一個函數(shù)來計算確保騎士能夠拯救到公主所需的最低初始健康點數(shù)。
例如,考慮到如下布局的地下城,如果騎士遵循最佳路徑 右 -> 右 -> 下 -> 下,則騎士的初始健康點數(shù)至少為 7。-2 (K) -3 3 -5 -10 1 10 30 -5 (P) 說明: 騎士的健康點數(shù)沒有上限。任何房間都可能對騎士的健康點數(shù)造成威脅, 也可能增加騎士的健康點數(shù), 包括騎士進(jìn)入的左上角房間以及公主被監(jiān)禁的右下角房間。來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/dungeon-game
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2. 解題
- 參考官方的解題
- 正向不好計算最低的初始生命值,反向考慮
- dp[i][j]表示走到 坐標(biāo)處的所需的最低生命值
12 ms 8.9 MB
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關(guān)注我的公眾號(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的LeetCode 174. 地下城游戏(DP)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode MySQL 1241.
- 下一篇: LeetCode 859. 亲密字符串