2
* The dynamic programming solution.4
* Time Complexity: O(m*n)5
* Space Complexity: O(1)7
* @param {number[][]} dungeon10
var calculateMinimumHP = function (dungeon) {11
const m = dungeon.length;12
const n = dungeon[0].length;17
for (let i = ii; i >= 0; i--) {18
for (let j = jj; j >= 0; j--) {19
if (i < ii || j < jj) {20
const hc = dungeon[i][j];22
const hp1 = i < ii ? Math.min(hc, hc + dungeon[i + 1][j]) : -Infinity;23
const hp2 = j < jj ? Math.min(hc, hc + dungeon[i][j + 1]) : -Infinity;25
dungeon[i][j] = Math.max(hp1, hp2);30
return Math.max(1 - dungeon[0][0], 1);