//倒着做,确实不好想
class Solution {
public int[] dx = {-1,0};
public int[] dy = {0,-1};
public int calculateMinimumHP(int[][] dungeon) {
int n = dungeon.length;
int m = dungeon[0].length;
int[][] dp = new int[n+1][m+1];
for(int i=0;i<=n;i++) {
Arrays.fill(dp[i],Integer.MAX_VALUE);
}
dp[n][m-1] = dp[n-1][m] = 1;
for(int i=n-1;i>=0;i--){
for(int j=m-1;j>=0;j--){
int minn = Math.min(dp[i+1][j],dp[i][j+1]);
dp[i][j] = Math.max(minn-dungeon[i][j],1);
}
}
return dp[0][0];
}
}
共以下 6 个回答
“男追女”的错误解法
“女追男”的正确解法
8.9 周三
Day30:下面是代码