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