Dungeon Game LeetCode solution in Python

1
class Solution:
2

3
def calculateMinimumHP(self, dungeon: List[List[int]]) -> int:
4

5
dp = defaultdict(lambda: inf)
6
dp[(len(dungeon), len(dungeon[0]) - 1)] = 1
7

8
for i in range(len(dungeon) - 1, -1, -1):
9

10
for j in range(len(dungeon[0]) - 1, -1, -1):
11

12
dp[(i, j)] = min(dp[(i + 1, j)], dp[(i, j + 1)]) - dungeon[i][j]
13

14
if dp[(i, j)] <= 0:
15
dp[(i, j)] = 1
16

17
return dp[(0, 0)]

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0