动态规划算法-路径问题:10.地下城游戏

题目链接:174. 地下城游戏(困难)

算法原理:

解法:动态规划

Java代码:

java 复制代码
import java.util.Arrays;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 王洋
 * Date: 2025-10-16
 * Time: 22:45
 */
class Solution {
    //174. 地下城游戏
    //看完算法原理后自己写的,第二遍过的,第一遍错在了遍历方向反了
    public int calculateMinimumHP(int[][] nums) {
        int m=nums.length,n=nums[0].length;
        int[][] dp=new int[m+1][n+1];
        for(int i=0;i<dp.length;i++)
            Arrays.fill(dp[i],Integer.MAX_VALUE);
        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]=Math.min(dp[i+1][j],dp[i][j+1])-nums[i][j];
                dp[i][j]=Math.max(1,dp[i][j]);
            }
        }
        return dp[0][0];
    }
}
相关推荐
陳10303 分钟前
C++:list(1)
开发语言·c++
小CC吃豆子4 分钟前
如何在 VS Code 中调试 C++ 程序?
开发语言·c++
sonadorje6 分钟前
支持向量机 (SVM) 通俗解读
算法·机器学习·支持向量机
Overt0p6 分钟前
抽奖系统(7)
java·开发语言·spring boot·redis·tomcat·rabbitmq
JANG10247 分钟前
【Qt】项目打包
开发语言·qt
Dylan的码园9 分钟前
深入浅出Java排序:从基础算法到实战优化(上)
java·数据结构·算法
星火开发设计11 分钟前
从公式到应用:卷积公式全面解析与实战指南
学习·算法·机器学习·概率论·知识·期末考试·卷积公式
CoderCodingNo14 分钟前
【GESP】C++五级/六级练习题(前缀和/动态规划考点) luogu-P1719 最大加权矩形
开发语言·c++·动态规划
学嵌入式的小杨同学17 分钟前
循环队列(顺序存储)完整解析与实现(数据结构专栏版)
c语言·开发语言·数据结构·c++·算法
程序员-King.17 分钟前
day128—二分查找—搜索二维矩阵(LeetCode-74)
leetcode·矩阵·二分查找