【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];
    }
};
相关推荐
sjsjs111 小时前
【数据结构-扫描线】力扣57. 插入区间
数据结构·算法·leetcode
一杯茶一道题1 小时前
LeetCode 260. 只出现一次的数字 III
算法·leetcode
MogulNemenis1 小时前
力扣415周赛
java·数据结构·算法·leetcode
zzhnwpu1 小时前
代码随想录算法训练营第三七天| 动态规划:完全背包理论基础 518.零钱兑换II 377. 组合总和 Ⅳ 322. 零钱兑换
算法·leetcode·动态规划
MogulNemenis3 小时前
力扣150题——多维动态规划
算法·leetcode·动态规划
子非鱼9215 小时前
【JavaScript】LeetCode:41-45
开发语言·javascript·leetcode·链表·二叉树
@听风吟6 小时前
力扣之182.查找重复的电子邮箱
大数据·javascript·数据库·sql·leetcode
__AtYou__7 小时前
Golang | Leetcode Golang题解之第417题太平洋大西洋水流问题
leetcode·golang·题解
Ddddddd_1588 小时前
C++ | Leetcode C++题解之第421题数组中两个数的最大异或值
c++·leetcode·题解
ly-how8 小时前
leetcode练习 二叉树的层序遍历
算法·leetcode