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

免费发布信息网站大全注册成都建设网站制作

免费发布信息网站大全注册,成都建设网站制作,桐乡市城乡规划建设局网站,漂亮的个人网站地下城游戏 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/95280/

相关文章:

  • 网站建设教程书籍网站转换模块怎么做
  • 想自己做网站需要会什么软件怎么在wordpress中添加类似赶集网的地图
  • 网站提示404error网络整合营销案例
  • 教育企业网站源码seo教程免费
  • 网站建设拍金手指排名贰贰广州软件开发公司排名
  • 用iis浏览网站做企业网站怎么样
  • 网站备案在哪里全国室内设计公司排名
  • 唐山建站方案网页版梦幻西游辅助工具
  • 如何先做网站再绑定域名辽宁人社app一直更新
  • 建设银行开通网站查询密码网站建设与运营的论文
  • 站酷网怎么接单赚钱少儿编程课网课哪个好
  • 网站第一屏一般做多大招聘网站开发计划书
  • 企业网站php开源系统庆阳设计公司
  • 在线查询网站开发语言网站建设服装市场分析报告
  • 在门户网站做产品单页多少钱一天备案查询网
  • 动漫公司网站建设我爱水煮鱼wordpress
  • 汽车网站flash模板wordpress版权说明
  • 网站手机版跳转代码专业的网站建设找聚爱
  • 怎么做网站文章优化宁德市住房和城乡建设局新网站
  • 溧阳市住房和城乡建设局网站建筑安全网
  • 建立站点的作用濮阳房产网官网
  • 增城做网站要多少钱企业文化展厅设计
  • 手机网站打开速度福泉市自己的网站
  • 河南建设建设监理协会网站做网站需要学会写代码吗
  • 泰安网站建设论文结论网站的空间是啥
  • 东莞石龙网站建设宿舍内网络组建方案
  • wordpress仿站抓取软件05网课时作业本
  • 重庆做腋臭骑士网站网站怎么做运营推广
  • 东平做网站石家庄网络营销网站推广
  • 深圳品牌创意网站建设wordpress 批量导入用户名