news 2026/5/16 1:54:05

腐烂的橘子- python-多元bfs

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
腐烂的橘子- python-多元bfs

题目:

思路:

  1. 统计新鲜橘子的数量,记录腐烂橘子的位置(多源 BFS 起点)
  2. 逐层扩散(每一层对应 1 分钟),每次扩散将相邻新鲜橘子腐烂
  3. 最终若仍有新鲜橘子未腐烂,返回-1;否则返回扩散的分钟数。

代码:

from typing import List from collections import deque class Solution: def orangesRotting(self, grid: List[List[int]]) -> int: m, n = len(grid), len(grid[0]) q = deque() # 存储腐烂橘子的坐标 fresh = 0 # 新鲜橘子数量 # 初始化:统计新鲜橘子,将腐烂橘子加入队列 for i in range(m): for j in range(n): if grid[i][j] == 1: fresh += 1 elif grid[i][j] == 2: q.append((i, j)) # 边界情况:无新鲜橘子,直接返回0 if fresh == 0: return 0 minutes = 0 # 记录耗时 # 上下左右四个方向 dirs = [(-1, 0), (1, 0), (0, -1), (0, 1)] # 多源BFS扩散 while q and fresh > 0: # 处理当前层(当前分钟的所有腐烂橘子) level_size = len(q) for _ in range(level_size): i, j = q.popleft() # 遍历四个方向 for dx, dy in dirs: x = i + dx y = j + dy # 坐标合法且为新鲜橘子 if 0 <= x < m and 0 <= y < n and grid[x][y] == 1: grid[x][y] = 2 # 标记为腐烂 fresh -= 1 # 新鲜橘子数减1 q.append((x, y)) # 加入队列供下一层处理 minutes += 1 # 每处理完一层,时间+1 # 若仍有新鲜橘子,返回-1;否则返回耗时 return minutes if fresh == 0 else -1
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 8:46:31

EmotiVoice语音合成API限流策略:保护服务器稳定运行

EmotiVoice语音合成API限流策略&#xff1a;保护服务器稳定运行 在AI驱动的语音交互时代&#xff0c;越来越多的应用开始集成高质量的文本转语音&#xff08;TTS&#xff09;能力。从智能客服到虚拟主播&#xff0c;从有声书平台到个性化教育工具&#xff0c;用户对“自然、有情…

作者头像 李华
网站建设 2026/5/13 9:23:36

确认了,“国补”不会结束!但有大调整

我们的ChatGPT-Plus镜像站升级了&#xff01;同时享受多个AI系统&#xff1a;除了ChatGPT-5.2 还有 Claude Pro 以及 Midjourney 。官方会员账号一模一样的功能。还接入了多个热门模型 DeepSeek R1Grok3Gemini pro 。有需要的同学&#xff0c;可以戳&#x1f449; 重磅&#xf…

作者头像 李华
网站建设 2026/5/13 23:16:14

Make MQ Great Again!COSCon‘25 x Pulsar Developer Day 2025 精彩回顾

12 月 6-7 日&#xff0c;COSCon25 第十届中国开源年会在北京市海淀区丽亭华苑酒店举办。本届大会以 「众智开源 Open Source, Open Intelligence」 为主题&#xff0c;汇聚全球开源力量&#xff0c;共话技术与生态。作为 COSCon25 的同场活动&#xff0c;Pulsar Developer Day…

作者头像 李华
网站建设 2026/5/15 7:18:53

ControlNet助力!电子科大港理工等提出Refaçade:图像编辑新框架

点击下方卡片&#xff0c;关注“CVer”公众号AI/CV重磅干货&#xff0c;第一时间送达点击进入—>【顶会/顶刊】投稿交流群添加微信号&#xff1a;CVer2233&#xff0c;小助手拉你进群&#xff01;扫描下方二维码&#xff0c;加入CVer学术星球&#xff01;可以获得最新顶会/顶…

作者头像 李华
网站建设 2026/5/13 8:27:18

12.17 富文本编辑器wangEditor的使用

wangEditor5介绍 wangEditor5 —— 轻量级 web 富文本编辑器&#xff0c;配置方便&#xff0c;使用简单。支持 IE10 浏览器。 官网&#xff1a;www.wangEditor.com 下载 注意&#xff1a; wangeditor都是小写字母 // 下面两个依赖都需要安装 npm i wangeditor/editor npm …

作者头像 李华
网站建设 2026/5/15 22:36:53

拿到Photoshop的源码了,发现两个意想不到的秘密......

今天看到了Photoshop1.0的源码&#xff0c;有两个想不到&#xff1a;1. 竟然没有用C语言&#xff0c;而是PASCAL。2. 代码中几乎没啥注释。仅有的一点儿注释也都是汇编相关的&#xff0c;不过没有注释根本不是问题&#xff0c;因为代码写得太清晰易懂了&#xff0c;添加注释反而…

作者头像 李华