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

174. 地下城游戏 -- 动规

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.lryc.cn/news/168130.html

相关文章:

  • js实现websocket服务端和客户端
  • qt qml RadioButton如何设置字体颜色,style提示找不到怎么办?
  • Docker 的使用
  • 【无公网IP内网穿透】Java支付宝沙箱环境支付,SDK接口远程调试
  • axios 用formData的方式请求数据
  • Mapbox加载arcgis的底图
  • (20)线程安全问题:Lock,双锁问题,Monitor,死锁
  • 医院如何实现安全又稳定的跨网文件数据交换呢?
  • 关于老项目从JDK8升级到JDK17所需要注意的细节
  • 《C++ primer》练习3.43-3.45: 打印二维数组的元素
  • 使用电力系统稳定器 (PSS) 和静态 VAR 补偿器 (SVC) 提高瞬态稳定性(Matlab代码实现)
  • 开源项目-SeaTunnel-UI数据集成系统
  • 百度SEO优化策略与经验分享(提升百度排名的8大步骤)
  • 【深度学习】- NLP系列文章之 1.文本表示以及mlp来处理分类问题
  • 力扣236 补9.14
  • 一文搞定Postman(菜鸟必看)
  • 位图+布隆过滤器+海量数据并查集(它们都是哈希的应用)
  • MYSQL:Select语句顺序
  • Pytest系列-数据驱动@pytest.mark.parametrize(7)
  • 【Qt】QGroundControl入门2:下载、编译、错误处理、运行
  • 【深度学习】Pytorch 系列教程(十):PyTorch数据结构:2、张量操作(Tensor Operations):(4)索引和切片详解
  • 2024字节跳动校招面试真题汇总及其解答(三)
  • 基于springboot+vue的便利店信息管理系统
  • 在ubuntu18.04上编译C++版本jsoncpp/opencv/onnxruntime且如何配置CMakelist把他们用起来~
  • 大二上学期学习计划
  • 【python爬虫—星巴克产品】
  • shell SQL 变量 Oracle shell调用SQL操作DB
  • 【校招VIP】java线程池考点之核心线程数
  • [每周一更]-(第61期):Rust入门策略(持续更新)
  • 线程安全问题的原因及解决方案