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

千问 LeetCode 2258.逃离火灾 public int maximumMinutes(int[][] grid)

这是一个典型的「多源BFS 分类讨论」问题。核心思路是先通过多源BFS计算火蔓延到每个格子的最早时间再通过BFS计算人到达每个格子的最早时间最后通过分类讨论确定最大等待时间。 解题思路1. 计算火势蔓延时间:* 使用多源BFS将所有初始着火点作为起点计算火蔓延到地图上每个可达格子的最早时间。我们用一个二维数组 fireTime 来记录这个时间。如果火无法到达某个格子其时间记为一个极大值如 INF。2. 计算人员移动时间:* 使用单源BFS从起点 (0, 0) 开始计算在不考虑火势的情况下人到达每个可达格子的最早时间。我们用 personTime 数组记录。3. 分类讨论得出答案:* 情况一人无法到达安全屋如果 personTime[m-1][n-1] 为0表示不可达则直接返回 -1。* 情况二火无法到达安全屋如果人可达但 fireTime[m-1][n-1] 为 INF说明火永远烧不到安全屋人可以无限等待返回 10^9。* 情况三人和火均可达安全屋这是最复杂的情况。我们先计算一个理论上的最大等待时间 ans fireTime[m-1][n-1] - personTime[m-1][n-1]。这个值代表人比火早到安全屋的时间差。* 如果 ans 0人理论上可以等待 ans 分钟。但需要检查在等待 ans 分钟后人是否能在中途被火烧到。由于人只能从安全屋的上方 (m-2, n-1) 或左方 (m-1, n-2) 进入我们只需要检查这两个关键位置。* 如果人在等待 ans 分钟后到达这两个关键位置的时间仍然早于火到达的时间那么 ans 就是可行的最大等待时间。* 否则说明等待 ans 分钟会导致路径被火封锁必须提前1分钟出发返回 ans - 1。 代码实现import java.util.ArrayDeque;import java.util.Deque;class Solution {// 定义四个方向的移动上、下、左、右private static final int[][] DIRS {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};// 定义一个足够大的数表示无穷大不可达private static final int INF (int) 1e9;public int maximumMinutes(int[][] grid) {int m grid.length;int n grid[0].length;// 1. 计算火蔓延到每个格子的最早时间int[][] fireTime new int[m][n];Deque fireQueue new ArrayDeque();// 初始化火源队列和fireTime数组for (int i 0; i personQueue new ArrayDeque();personQueue.offerLast(new int[]{0, 0});personTime[0][0] 1; // 人从(0,0)出发时间从1开始bfs(personQueue, personTime, grid, m, n);// 3. 分类讨论int pTime personTime[m - 1][n - 1]; // 人到达安全屋的时间int fTime fireTime[m - 1][n - 1]; // 火到达安全屋的时间// 情况一人无法到达安全屋if (pTime 0) {return -1;}// 情况二火无法到达安全屋if (fTime 0) {return INF;}// 情况三人和火都可以到达安全屋// 理论上的最大等待时间int ans fTime - pTime;// 如果火比人先到安全屋则无法逃脱if (ans queue, int[][] time, int[][] grid, int m, int n) {while (!queue.isEmpty()) {int[] curr queue.pollFirst();int x curr[0];int y curr[1];for (int[] dir : DIRS) {int nx x dir[0];int ny y dir[1];// 检查边界、是否是墙、是否已经访问过if (nx 0 nx 0 ny n grid[nx][ny] ! 2 time[nx][ny] 0) {time[nx][ny] time[x][y] 1;queue.offerLast(new int[]{nx, ny});}}}}}

相关文章:

千问 LeetCode 2258.逃离火灾 public int maximumMinutes(int[][] grid)

这是一个典型的「多源BFS 分类讨论」问题。核心思路是:先通过多源BFS计算火蔓延到每个格子的最早时间,再通过BFS计算人到达每个格子的最早时间,最后通过分类讨论确定最大等待时间。🧠 解题思路1. 计算火势蔓延时间:* 使用多源…...

macOS原生AI聚合客户端macai:SwiftUI构建,集成ChatGPT/Claude/Gemini与本地Ollama模型

1. 项目概述:macai,一个为macOS而生的全能AI聊天客户端如果你和我一样,是个重度依赖AI辅助工作的macOS用户,同时又对各种AI服务提供商(ChatGPT、Claude、Gemini、Grok……)感到眼花缭乱,那么你很…...

豆包 LeetCode 2251. 花期内花的数目 C实现

LeetCode 2251 花期内花的数目 C 语言实现 思路 把所有花的开始时间、结束时间分别拆成两个数组对两个数组排序对每个人的到达时刻 t&#xff1a; 开花数&#xff1a;开始时间 ≤ t 的花数量凋谢数&#xff1a;结束时间 < t 的花数量答案 开花数 - 凋谢数 手写二分&#xf…...

AI药物研发工程化实践:从数据管理到模型部署的全流程解析

1. 项目概述&#xff1a;从“Harness”看AI药物研发的工程化实践最近在GitHub上看到一个名为“AIDD-Projects/harness”的项目&#xff0c;这个名字起得很有意思——“Harness”&#xff0c;直译是“马具、挽具”&#xff0c;引申为“驾驭、利用”。在AI药物研发这个充满挑战的…...

豆包 LeetCode 2251. 花期内花的数目 public int[] fullBloomFlowers(int[][] flowers, int[] people)

LeetCode 2251 解题思路 最优代码 这道题是经典的差分 排序 二分问题&#xff0c;非常高频&#xff0c;最优解法时间复杂度 O(n log n m log n)。 题目理解 flowers[i] [start, end]&#xff1a;花从 start 到 end 每天都开放people[i]&#xff1a;人到达的时间要求返回&a…...

魔兽争霸3终极兼容方案:WarcraftHelper让你的经典游戏在现代电脑焕发新生

魔兽争霸3终极兼容方案&#xff1a;WarcraftHelper让你的经典游戏在现代电脑焕发新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3…...

Hitboxer:3步配置解决游戏按键冲突的SOCD清理工具

Hitboxer&#xff1a;3步配置解决游戏按键冲突的SOCD清理工具 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否在玩《空洞骑士》或《蔚蓝》这类需要精准操作的游戏时&#xff0c;明明按下了正确的方向键&a…...

Windows驱动管理神器:DriverStore Explorer全面解析与实战指南

Windows驱动管理神器&#xff1a;DriverStore Explorer全面解析与实战指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 在Windows系统维护中&#xff0c;驱动程序管理往往是最容易被…...

如何快速免费解锁电脑隐藏性能:UXTU硬件调优终极完整指南

如何快速免费解锁电脑隐藏性能&#xff1a;UXTU硬件调优终极完整指南 【免费下载链接】Universal-x86-Tuning-Utility Unlock the full potential of your Intel/AMD based device. 项目地址: https://gitcode.com/gh_mirrors/un/Universal-x86-Tuning-Utility 还在为电…...

Zotero插件市场:让插件管理像逛应用商店一样简单

Zotero插件市场&#xff1a;让插件管理像逛应用商店一样简单 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing, installing, and reviewing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-addons 你是否…...

AI Agent统一运行时平台:从开发到部署的完整解决方案

1. 从零到一&#xff1a;为什么我们需要一个统一的AI Agent运行时平台如果你和我一样&#xff0c;在过去一两年里深度折腾过AI Agent的开发&#xff0c;那你一定经历过这样的场景&#xff1a;好不容易用LangChain或者CrewAI搭了个能跑起来的原型&#xff0c;兴奋地想把它部署上…...

循证研发服务商怎么选?重点看这五项能力

营养健康赛道的竞争&#xff0c;正在从概念表达走向证据表达。新品越来越难只靠营销概念赢得市场&#xff0c;消费者会关注原料是否可靠、配方是否有依据、吸收是否经过验证&#xff1b;渠道方评估新品时&#xff0c;也会重视产品设计逻辑和证据可信度。对品牌方来说&#xff0…...

TypeORM游标分页实战:告别LIMIT OFFSET性能瓶颈

1. 项目概述与游标分页核心价值如果你正在用 TypeORM 开发后端 API&#xff0c;并且被传统的LIMIT/OFFSET分页在数据量变大时带来的性能问题所困扰&#xff0c;那么typeorm-cursor-pagination这个库很可能就是你一直在找的解决方案。我在处理一个用户量超过百万的社交应用项目时…...

WebGPU与模型量化:浏览器端大模型本地化部署实战

1. 项目概述&#xff1a;在浏览器里跑大模型&#xff0c;到底靠不靠谱&#xff1f;最近几年&#xff0c;大语言模型&#xff08;LLM&#xff09;火得一塌糊涂&#xff0c;但一提到部署和运行&#xff0c;大家的第一反应往往是“得搞台服务器”、“得买张好显卡”、“API调用费不…...

合成数据:好、坏与未整理

原文&#xff1a;towardsdatascience.com/synthetic-data-the-good-the-bad-and-the-unsorted-8220de6aac40?sourcecollection_archive---------7-----------------------#2024-01-13 关于使用合成数据进行 AI 训练的法律视角 https://medium.com/tea.mustac?sourcepost_pag…...

OpenClaw企业级插件套件:构建安全、可观测的智能体生产环境

1. 项目概述&#xff1a;为OpenClaw构建企业级安全与智能插件套件如果你和我一样&#xff0c;正在生产环境中7x24小时地运行一个或多个OpenClaw自主智能体&#xff0c;那么你肯定也经历过那些“惊心动魄”的时刻&#xff1a;智能体在凌晨三点试图访问一个可疑的URL&#xff1b;…...

如何用Blender3mfFormat插件轻松实现3MF文件导入导出:从新手到专家的完整指南

如何用Blender3mfFormat插件轻松实现3MF文件导入导出&#xff1a;从新手到专家的完整指南 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 你是否在Blender中处理3D打印模…...

免费Mermaid图表在线编辑器:5分钟创建专业图表无需代码

免费Mermaid图表在线编辑器&#xff1a;5分钟创建专业图表无需代码 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-edito…...

Windows Cleaner:专治C盘爆红,一键释放磁盘空间

Windows Cleaner&#xff1a;专治C盘爆红&#xff0c;一键释放磁盘空间 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 电脑C盘爆红&#xff0c;系统卡顿不堪&…...

AI编程助手技能管理工具:提升开发效率与代码一致性

1. 项目概述&#xff1a;一个为AI编程助手分发技能的模块化CLI工具如果你和我一样&#xff0c;日常开发中重度依赖像Cursor、Claude Code、GitHub Copilot这样的AI编程助手&#xff0c;那你肯定也遇到过类似的困扰&#xff1a;每次开启一个新项目&#xff0c;或者切换到一个新的…...

如何彻底解决macOS滚动方向混乱问题:Scroll Reverser终极配置指南

如何彻底解决macOS滚动方向混乱问题&#xff1a;Scroll Reverser终极配置指南 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 你是否经常在MacBook触控板和鼠标之间切换使用&…...

CANN/tensorflow迭代循环设置API

set_iteration_per_loop 【免费下载链接】tensorflow Ascend TensorFlow Adapter 项目地址: https://gitcode.com/cann/tensorflow 功能说明 设置sess.run模式下小循环次数&#xff0c;即每次sess.run()在Device侧执行训练迭代的次数&#xff0c;可以减少Host与Device间…...

ARM7TDMI-S存储操作时序与优化实践

1. ARM7TDMI-S存储操作时序深度解析在嵌入式系统开发领域&#xff0c;ARM7TDMI-S处理器因其出色的能效比和可预测的执行时序&#xff0c;至今仍广泛应用于实时控制系统中。作为典型的3级流水线RISC架构&#xff0c;其指令执行过程被明确划分为取指(Fetch)、译码(Decode)和执行(…...

互联网大厂 Java 求职面试模拟:技术与趣味的较量

互联网大厂 Java 求职面试模拟&#xff1a;当面试官遇上燕双非 在这篇文章中&#xff0c;我们将通过一段模拟对话&#xff0c;展现互联网大厂面试中 Java 求职者燕双非与面试官之间的幽默互动&#xff0c;同时涉及多个技术点&#xff0c;引导读者们了解相关知识。第一轮提问 面…...

互联网大厂 Java 求职者面试:从 Java SE 到微服务的挑战

互联网大厂 Java 求职者面试&#xff1a;从 Java SE 到微服务的挑战在一家互联网大厂的面试中&#xff0c;面试官严肃地坐在对面&#xff0c;而候选人燕双非则显得有些紧张&#xff0c;但他还是尽量保持轻松。以下是他们的对话。第一轮提问 面试官&#xff1a;你能告诉我 Java …...

Switch游戏管理终极解决方案:NS-USBLoader高效传输完全指南

Switch游戏管理终极解决方案&#xff1a;NS-USBLoader高效传输完全指南 【免费下载链接】ns-usbloader Awoo Installer and GoldLeaf uploader of the NSPs (and other files), RCM payload injector, application for split/merge files. 项目地址: https://gitcode.com/gh_…...

Replay:基于Next.js与Neon的AI编程会话分享平台技术解析

1. 项目概述&#xff1a;Replay&#xff0c;一个为AI编程会话而生的分享平台如果你和我一样&#xff0c;在日常开发中重度依赖像Claude Code、Cursor这类AI编程助手&#xff0c;那你一定遇到过这个痛点&#xff1a;你和AI之间那段长达几十轮、包含了代码修改、工具调用和决策思…...

5分钟搞定网盘限速:免费开源下载助手终极指南

5分钟搞定网盘限速&#xff1a;免费开源下载助手终极指南 【免费下载链接】baiduyun 油猴脚本 - 一个免费开源的网盘下载助手 项目地址: https://gitcode.com/gh_mirrors/ba/baiduyun 还在为网盘下载速度慢如蜗牛而烦恼吗&#xff1f;每次下载大文件都要等待数小时甚至数…...

基于OpenClaw的智能事件协调模板:从混乱输入到结构化处理

1. 项目概述&#xff1a;一个为生产级客户支持与内部事件协调而生的智能体模板如果你在技术团队里负责过客户支持、运维响应或者内部事件流转&#xff0c;大概率经历过这样的混乱&#xff1a;一个工单进来&#xff0c;描述不清&#xff0c;不知道该分给谁&#xff0c;来回踢皮球…...

DS4Windows:让PS4手柄在Windows电脑上完美工作的终极指南

DS4Windows&#xff1a;让PS4手柄在Windows电脑上完美工作的终极指南 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 想在Windows电脑上使用PlayStation 4手柄玩游戏吗&#xff1f;DS4Win…...