当前位置: 首页 > news >正文

2024网站推广网件路由器管理地址

2024网站推广,网件路由器管理地址,百度引流推广哪家好,h5页面设计是什么地下城游戏 leetcode174. 地下城游戏题目描述 动态规划解题思路代码 动态规划专题 leetcode174. 地下城游戏 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/dungeon-game 题目描述 恶魔们抓住了公主并将她关在了地下城 …

地下城游戏

  • leetcode174. 地下城游戏
    • 题目描述
  • 动态规划
    • 解题思路
    • 代码
  • 动态规划专题

leetcode174. 地下城游戏

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/dungeon-game

题目描述

恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。
骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。
有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间要么是空的(房间里的值为 0),要么包含增加骑士健康点数的魔法球(若房间里的值为正整数,则表示骑士将增加健康点数)。
为了尽快解救公主,骑士决定每次只 向右 或 向下 移动一步。
返回确保骑士能够拯救到公主所需的最低初始健康点数。
注意:任何房间都可能对骑士的健康点数造成威胁,也可能增加骑士的健康点数,包括骑士进入的左上角房间以及公主被监禁的右下角房间。

示例1:
在这里插入图片描述
输入:dungeon = [[-2,-3,3],[-5,-10,1],[10,30,-5]]
输出:7
解释:如果骑士遵循最佳路径:右 -> 右 -> 下 -> 下 ,则骑士的初始健康点数至少为 7 。

示例 2:
输入:dungeon = [[0]]
输出:1

提示:
m == dungeon.length
n == dungeon[i].length
1 <= m, n <= 200
-1000 <= dungeon[i][j] <= 1000

动态规划

解题思路

再找动态规划的转移方程时。
如果从头开始算。那么一路下来到右下角,我们要考虑两个问题:
一.是走到下一个格需要的最小血量
二是全路程走下来我们要走累加和最大的路径’。累加和越大需要的血量越少。
同时考虑两个问题,代码就变得很麻烦了,而且两个问题是两种优化,这两种优化可能会有冲突。
因此我们要换个思路,
从最后一个格往前推,在最后一个格需要多少血量.
如果Math.max(1 - dungeon(i,j),1).如果最后一格是不是负数,有1就好了,
这是最后一格的情况。
和前面联系到一起:那么转移方程就是:
dp[i][j]=max(min(dp[i+1][j],dp[i][j+1])−dungeon(i,j),1)
把 1 - 1 - dungeon(i,j) 换成前面需要最小的血量去减。换成了min(dp[i+1][j],dp[i][j+1])−dungeon(i,j);

代码

  public int calculateMinimumHP(int[][] dungeon) {int n = dungeon.length;int m = dungeon[0].length;int[][]dp = new int[n + 1][m + 1];for (int i = 0; i <= n; ++i) {Arrays.fill(dp[i], Integer.MAX_VALUE);}//走出最下角的格子,最少要有一的血量//把两个方向优化出来dp[n][m - 1] = 1;dp[n - 1][m] = 1;for(int i = n - 1;i >= 0;i--){for(int j = m - 1;j >= 0;j--){//上一次选择路线两个方向上最小值int min = Math.min(dp[i + 1][j],dp[i][j + 1]);//如果是整数 就取1 ,负数就取 min - dungeon[i][j]dp[i][j] = Math.max(min - dungeon[i][j],1);}}return dp[0][0];}

动态规划专题

打败怪兽的概率

leetcode688. 骑士在棋盘上的概率

凑零钱-钱币的组合有多少种II

最小路径和

最长回文子序列

数字转字符串,有多少种转化结果

leetcode.486. 预测赢家

走到指定位置有多少种方式

http://www.yayakq.cn/news/899931/

相关文章:

  • 网站建设和备案网站推广的平台
  • 产品做优化好还是超级网站好佛山小学网站建设
  • 天津网站建设公司最好中国建设执业资格注册中心网站
  • 新网互联 网站上传哪里有建设网站的
  • 手机表白网页制作seo文章推广
  • 福州专业网站搭建排名做网站什么最赚钱吗
  • 品牌建设公司网站贵州建设工程信息网官网
  • 建设银行的网站是多少钱wordpress更改图片链接
  • 做网站需要会编程语言吗推广网页
  • 微信建一个网站我的网站刚换了一个模板收录很多就是没排名
  • 网站建设与实现毕业答辩ppt现货交易平台合法吗
  • 自己做的网站怎么上排行榜福州网站seo优化公司
  • 常州微信网站建设旅游电子商务网站建设规划
  • 分类网站 模板湖南衡五建设公司网站
  • 六安市城乡和建设局官方网站网站强制字体wordpress
  • 用wordpress编写网站黄岛做网站找哪家好
  • 网站精简布局网站设计好后如何发布
  • 绿色网站欣赏网站建设开发流程按钮
  • 桂林做网站电话号码免费中文网页模板
  • 什么企业适合做网站手工制作玩具
  • 自己怎样建设网站首页青海企业网站制作
  • 成都保障房中心官方网站微信开放平台登录入口
  • 罗岗网站建设公司花生壳域名做网站
  • 做电商网站的参考书温州优化网站方法
  • 做文案策划需要看什么网站lnmp wordpress优化
  • 商业网站开发需求企业网站搭建费用
  • 找家里做的工作到什么网站关键词库在网站上怎么体现
  • 营销型网站一个多少钱广西贵港建设集团有限公司网站
  • 网站设计程序织梦响应式网站怎么做
  • seo综合查询 站长工具网站进入沙盒的表现