网站seo关键字优化建设房地产网站
2026/1/9 11:05:49 网站建设 项目流程
网站seo关键字优化,建设房地产网站,安卓编程,保定网站制作报价题目#xff1a;思路#xff1a;统计新鲜橘子的数量#xff0c;记录腐烂橘子的位置#xff08;多源 BFS 起点#xff09;逐层扩散#xff08;每一层对应 1 分钟#xff09;#xff0c;每次扩散将相邻新鲜橘子腐烂最终若仍有新鲜橘子未腐烂#xff0c;返回 -1#xff…题目思路统计新鲜橘子的数量记录腐烂橘子的位置多源 BFS 起点逐层扩散每一层对应 1 分钟每次扩散将相邻新鲜橘子腐烂最终若仍有新鲜橘子未腐烂返回-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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询