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

Leetcode 3286. Find a Safe Walk Through a Grid

  • Leetcode 3286. Find a Safe Walk Through a Grid
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3286. Find a Safe Walk Through a Grid

1. 解题思路

这一题的话思路上就是一个宽度优先遍历,我们按照health进行排序进行宽度优先遍历,看看在health被消耗完之前是否可能走到终点即可。

2. 代码实现

给出python代码实现如下:

class Solution:def findSafeWalk(self, grid: List[List[int]], health: int) -> bool:n, m = len(grid), len(grid[0])if health - grid[0][0] < 1:return Falseq = [(-health+grid[0][0], 0, 0)]seen = set()while q:h, x, y = heapq.heappop(q)if (x, y) in seen:continueseen.add((x, y))h = -hfor dx, dy in [(1, 0), (-1, 0), (0, 1), (0, -1)]:nx, ny = x+dx, y+dyif 0 <= nx < n and 0 <= ny < m and (nx, ny) not in seen and h - grid[nx][ny] > 0:if nx == n-1 and ny == m-1:return Trueheapq.heappush(q, (-(h-grid[nx][ny]), nx, ny))return False

提交代码评测得到:耗时238ms,占用内存17.3MB。

http://www.lryc.cn/news/441367.html

相关文章:

  • shell脚本语法
  • TCP 拥塞控制:一场网络数据的交通故事
  • (黑马点评) 五、探店达人系列功能实现
  • SQLiteDatabase insert or replace数据不生效
  • 基于Python实现一个浪漫烟花秀
  • 电气自动化入门03:安全用电
  • 【深度学习】(2)--PyTorch框架认识
  • 前端面试记录
  • 裁员了,很严重,大家做好准备吧!
  • uniapp组件uni-datetime-picker选择年月后在ios上日期不显示
  • 01_快速入门
  • 数据结构之分文件编译学生管理
  • TypeScript入门 (二)控制语句
  • MVP 最简可行产品
  • 数仓工具:datax
  • CSS传统布局方法(补充)——WEB开发系列37
  • 【系统架构设计师】软件架构的风格(经典习题)
  • 网页打开时,下载的文件fetcht类型?有什么作用?
  • 作为HR,如何考察候选人的专业知识与技能
  • 阻止冒泡事件
  • 聊聊Netty对于内存方面的优化
  • 2024年轻人驯化AI指南
  • 算法:双指针题目练习
  • 傅里叶变换的基本性质和有关定理
  • VIM使用技巧
  • C语言进阶【4】---数据在内存中的存储【1】(你不想知道数据是怎样存储的吗?)
  • 【mysql面试题】mysql复习之常见面试题(一)
  • VB.NET中如何利用ASP.NET进行Web开发
  • vue2+js项目升级vue3项目流程
  • 做EDM邮件群发营销时如何跟进外贸客户?