【LeetCode】地下城游戏(动态规划)

地下城游戏

链接: 地下城游戏

题目描述

算法分析

编程代码

cpp 复制代码
class Solution {
public:
    int calculateMinimumHP(vector<vector<int>>& dungeon) {
        int m = dungeon.size();
        int n = dungeon[0].size();

        vector<vector<int>> dp(m+1,vector<int>(n+1,INT_MAX));
        dp[m][n-1] = dp[m-1][n] = 1;
        for(int i = m-1;i>=0;--i)
        {
            for(int j = n-1;j>=0;--j)
            {
                dp[i][j] = min(dp[i+1][j],dp[i][j+1]) - dungeon[i][j];
                dp[i][j] = max(1,dp[i][j]);
            }
        }
        return dp[0][0];
    }
};
相关推荐
孑么8 分钟前
力扣 全排列
java·算法·leetcode·职场和发展
Lenyiin17 分钟前
第424场周赛:使数组元素等于零、零数组变换 Ⅰ、零数组变换 Ⅱ、最小化相邻元素的最大差值
c++·算法·leetcode·周赛·lenyiin
KpLn_HJL1 小时前
leetcode - 3223. Minimum Length of String After Operations
java·算法·leetcode
澄岚明雪4 小时前
力扣经典题目之55.跳跃游戏
算法·leetcode·职场和发展
柠石榴4 小时前
【练习】力扣热题100 有效的括号
c++·算法·leetcode·职场和发展
迪小莫学AI5 小时前
高效解决 LeetCode 2270: 分割数组的方案数
算法·leetcode·职场和发展
圆圆滚滚小企鹅。8 小时前
刷题记录 回溯算法-10:93. 复原 IP 地址
数据结构·python·算法·leetcode
pzx_0019 小时前
【集成学习】Stacking算法详解
人工智能·算法·leetcode·机器学习·职场和发展·集成学习
sjsjs119 小时前
【区间DP】【hard】力扣1312. 让字符串成为回文串的最少插入次数
算法·leetcode·职场和发展
清炒孔心菜9 小时前
每日一题 395. 至少有 K 个重复字符的最长子串
leetcode