174. 地下城游戏

174. 地下城游戏

思路

逆向思维。

cpp 复制代码
class Solution {
public:
    int calculateMinimumHP(vector<vector<int>>& dungeon) {
        // 逆向思维。
        // 这就是,我要进行的是
        int n = dungeon.size();
        int m = dungeon[0].size();
        vector<vector<int>> dp(n, vector<int>(m, 0));
        dp[n-1][m-1] = 0;
        for(int i = n-1;i>=0;i--){
            for(int j = m-1;j>=0;j--){
                if(i == n-1 and j == m-1){
                    dp[i][j] = max(1,1-dungeon[i][j]);
                }else if(i == n-1){
                    dp[i][j] = max(1,dp[i][j+1]-dungeon[i][j]);
                }else if(j == m-1){
                    dp[i][j] = max(1, dp[i+1][j]-dungeon[i][j]);
                }else{
                    dp[i][j] = max(min(dp[i+1][j], dp[i][j+1])-dungeon[i][j], 1);
                }
            }
        }
        return dp[0][0];
    }
};
相关推荐
DoraBigHead38 分钟前
小哆啦解题记——映射的背叛
算法
Heartoxx1 小时前
c语言-指针与一维数组
c语言·开发语言·算法
孤狼warrior1 小时前
灰色预测模型
人工智能·python·算法·数学建模
京东云开发者1 小时前
京东零售基于国产芯片的AI引擎技术
算法
chao_7892 小时前
回溯题解——子集【LeetCode】二进制枚举法
开发语言·数据结构·python·算法·leetcode
十盒半价3 小时前
从递归到动态规划:手把手教你玩转算法三剑客
javascript·算法·trae
GEEK零零七3 小时前
Leetcode 1070. 产品销售分析 III
sql·算法·leetcode
凌肖战3 小时前
力扣网编程274题:H指数之普通解法(中等)
算法·leetcode
秋说3 小时前
【PTA数据结构 | C语言版】将数组中元素反转存放
c语言·数据结构·算法
WebInfra3 小时前
如何在程序中嵌入有大量字符串的 HashMap
算法·设计模式·架构