【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];
    }
};
相关推荐
Dream it possible!5 小时前
LeetCode 面试经典 150_链表_合并两个有序链表(58_21_C++_简单)
leetcode·链表·面试·1024程序员节
码农多耕地呗8 小时前
力扣226.翻转二叉树(java)
算法·leetcode·职场和发展
py有趣10 小时前
LeetCode算法学习之合并区间
学习·算法·leetcode
一匹电信狗11 小时前
【LeetCode_876_2.02】快慢指针在链表中的简单应用
c语言·数据结构·c++·算法·leetcode·链表·stl
码农多耕地呗12 小时前
力扣543.二叉树的直径(java)(迭代法 and 左右根后序遍历迭代法)
算法·leetcode·职场和发展
仰泳的熊猫13 小时前
LeetCode:200. 岛屿数量
数据结构·c++·算法·leetcode
Han.miracle14 小时前
数据结构——排序的超级详解(Java版)
java·数据结构·学习·算法·leetcode·排序算法·1024程序员节
我搞slam15 小时前
插入区间--leetcode
算法·leetcode
前进之路915 小时前
Leetcode每日一练--40
算法·leetcode
Swift社区16 小时前
LeetCode 405 - 数字转换为十六进制数
算法·leetcode·职场和发展