leetcode 174 地牢游戏(hard java 动态规划)

阅读: 评论:0

leetcode 174 地牢游戏(hard java 动态规划)

leetcode 174 地牢游戏(hard java 动态规划)

 

 

思路就是

dp[i][j]表示为了达到右下角,至少有多少血量能够在行走过程中至少保持一滴血

要从右下角开始向上推,因为只有在右下角知道最少还剩一滴血,然后向上推,最小血量 

java

class Solution {public int calculateMinimumHP(int[][] dungeon) {if(dungeon.length==0)return 0;int row=dungeon.length;int column=dungeon[0].length;int[][]dp = new int[row][column];dp[row-1][column-1]=Math.max(1,1-dungeon[row-1][column-1]);//先求右侧边for(int i=row-2;i>=0;i--){dp[i][column-1]=Math.max(1,dp[i+1][column-1]-dungeon[i][column-1]);}//求下侧边for(int j=column-2;j>=0;j--){dp[row-1][j]=Math.max(1,dp[row-1][j+1]-dungeon[row-1][j]);}//求中间for(int i=row-2;i>=0;i--){for(int j=column-2;j>=0;j--){//只能向左或者向上int dp_min=Math.min(dp[i+1][j],dp[i][j+1]);dp[i][j]=Math.max(1,dp_min-dungeon[i][j]);}}return dp[0][0];}
}

 

本文发布于:2024-02-01 21:33:00,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170679438439549.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:地牢   动态   游戏   leetcode   hard
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23