174. 地下城游戏 -- 动规

news/2024/11/20 4:33:43/

174. 地下城游戏


class CalculateMinimumHP:"""174. 地下城游戏https://leetcode.cn/problems/dungeon-game/"""def solution(self, dungeon: List[List[int]]) -> int:# 我们想计算左上⻆到右下⻆所需的最⼩⽣命值m, n = len(dungeon), len(dungeon[0])self.memo = [[-1 for _ in range(n)] for _ in range(m)]return self.dp(dungeon, 0, 0)def dp(self, grid, i, j):"""从 grid[i][j] 到达终点(右下⻆)所需的最少⽣命值:param grid::param i::param j::return:"""m, n = len(grid), len(grid[0])# base caseif i == m - 1 and j == n - 1:return 1 if grid[i][j] >= 0 else -grid[i][j] + 1if i == m or j == n:return float('inf')if self.memo[i][j] != -1:return self.memo[i][j]res = min(self.dp(grid, i, j+1),self.dp(grid, i+1, j)) - grid[i][j]self.memo[i][j] = 1 if res <= 0 else resreturn self.memo[i][j]

http://www.ppmy.cn/news/1112831.html

相关文章

Python中简单而全面的差分进化优化实现教程

第一部分:介绍与基础知识 1. 什么是差分进化优化? 差分进化(Differential Evolution, DE)是一种自适应的全局优化算法,专门用于解决连续空间的实数优化问题。这种算法基于种群的概念,并且与其他进化算法不同的是,它使用了向量差分来产生新的候选解。 2. 差分进化的工…

【题解】二叉树的镜像、判断是不是二叉搜索树

文章目录 二叉树的镜像判断是不是二叉搜索树 二叉树的镜像 题目链接&#xff1a;二叉树的镜像 解题思路1&#xff1a;递归 对于树的问题&#xff0c;我们可以把整体看作一棵树&#xff0c;把左右子树看作独立的树进行操作&#xff0c;所以对于树的问题&#xff0c;一般情况下…

数据仓库模型设计V2.0

一、数仓建模的意义 数据模型就是数据组织和存储方法&#xff0c;它强调从业务、数据存取和使用角度合理存储数据。只有将数据有序的组织和存储起来之后&#xff0c;数据才能得到高性能、低成本、高效率、高质量的使用。 高性能&#xff1a;良好的数据模型能够帮助我们快速查询…

用c++实现五子棋小游戏

五子棋是一款经典小游戏&#xff0c;今天我们就用c实现简单的五子棋小游戏 目录 用到的算法&#xff1a; 思路分析 定义变量 开始写代码 完整代码 结果图&#xff1a; 用到的算法&#xff1a; 合法移动的判断&#xff1a;isValidMove 函数通过检查指定位置是否在棋盘范…

vscode如何设置文件折叠

随着项目的不断迭代开发&#xff0c;复杂度越来越高&#xff0c;配置文件越来越多&#xff0c;导致vscode左侧文件列表展示非常不直观&#xff0c;幸好可以通过文件折叠来简化展示效果&#xff0c;把同类相关的文件折叠在一块展示&#xff0c;方便查看配置文件。配置好后的效果…

Springboot -- DOCX转PDF(二)

之前记录了按照模板生成 DOCX 文件、并转换为 PDF 文件的方法 https://blog.csdn.net/qq_40096897/article/details/131979177?spm1001.2014.3001.5501 但是使用效果并不是很理想&#xff0c;转换完的 PDF 格式和原本的文档格式不匹配。所以在此重新找了一个文件转 PDF 的方法…

构建模型三要素与权重初始化

1、模型三要素 三要素其实很简单&#xff1a; 必须要继承nn.Module这个类&#xff0c;要让PyTorch知道这个类是一个Module。在__init__(self)中设置好需要的组件&#xff0c;比如conv,pooling,Linear,BatchNorm等等。最后在forward(self,x)中用定义好的组件进行组装&#xff…

WebRTC 如何指定 H265解码器

WebRTC 本身支持多种视频编解码器&#xff0c;但 H.265/HEVC 编解码器的支持主要取决于浏览器或应用的实现。不过&#xff0c;如果你确定你的 WebRTC 实现和对端支持 H.265&#xff0c;可以通过修改 SDP 来优先选择 H.265 编解码器。 以下是如何指定 H.265 作为优先解码器的基…