动态规划算法-路径问题: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];
    }
}
相关推荐
AI人工智能+电脑小能手5 分钟前
【大白话说Java面试题 第113题】【并发篇】第13题:说一下乐观锁的优点和缺点?
java·开发语言·面试
果丁智能11 分钟前
智慧校园一卡通深度融合方案:基于超级SIM卡的手机碰一碰智能开锁技术落地实践
数据结构·人工智能·python·科技·算法·智能家居·信息与通信
lihao lihao17 分钟前
linux线程
java·开发语言·jvm
满怀冰雪19 分钟前
第13篇-栈算法入门-括号匹配-表达式与单调栈基础
java·算法
TCW112121 分钟前
AI底层系列:用C++实现线性代数的公式推导与算法设计-基础篇-5.矩阵方程
人工智能·线性代数·算法
叫我:松哥23 分钟前
基于机器学习和flask的体育健身风险智能分析系统,系统集成DeepSeek、聚类算法、分类算法等,准确率达90%
人工智能·python·神经网络·算法·机器学习·flask·聚类
码云骑士24 分钟前
03-Python可变对象与不可变对象(下)-深浅拷贝的底层真相
开发语言·python
wabs66626 分钟前
关于动态规划【0-1背包思想在实际问题中是怎么转化的?】
算法·动态规划
sycmancia27 分钟前
Qt——自定义模型类
开发语言·qt