news 2026/4/25 4:10:18

腐烂的橘子- 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/21 3:31:36

如何提升零样本克隆的音质还原度?技巧分享

如何提升零样本克隆的音质还原度&#xff1f;技巧分享 在数字人、虚拟主播和个性化语音助手日益普及的今天&#xff0c;用户早已不再满足于“能说话”的机器语音。他们期待的是有温度、有辨识度、像真人一样的声音——哪怕只听过几秒钟原声&#xff0c;也能精准复刻出那个熟悉的…

作者头像 李华
网站建设 2026/4/21 20:41:48

又一院士名单,公布

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

作者头像 李华
网站建设 2026/4/24 6:24:58

ICML 2026 投稿群来了!还有IJCAI、ICLR 2026 投稿交流群!

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

作者头像 李华
网站建设 2026/4/24 11:56:23

超越兼容:金仓数据库如何以三重革新,破解企业核心业务运维难题

兼容是对企业历史投资的尊重是确保业务平稳过渡的基石然而这仅仅是故事的起点在数字化转型的深水区&#xff0c;企业对数据库的需求早已超越“语法兼容”的基础诉求。无论是核心业务系统的稳定运行&#xff0c;还是敏感数据的安全防护&#xff0c;亦或是复杂场景下的性能优化&a…

作者头像 李华
网站建设 2026/4/22 20:35:36

Win11 查找并开启 IE 浏览器教程

Win11 正式发布后&#xff0c;不少用户第一时间升级了新系统&#xff0c;却发现找不到熟悉的IE浏览器。其实这是因为微软已在 Win11 中正式移除了的独立前端程序&#xff0c;但它的核心内核仍被系统保留。下面就为大家分享 Win11 开启 IE 浏览器的具体操作步骤&#xff1a; 右…

作者头像 李华