leetcode994专题

【leetcode994】腐烂的橘子(BFS)

文章目录 一、题目二、思路三、代码 一、题目 二、思路 首先将所有烂橘子入队,然后常规BFS遍历,注意while的截止条件除了队列为空,新鲜橘子数量大于0(没新鲜橘子也没必要继续遍历,保证时间计算的正确性),这两者一个不满足就可以停止每分钟进行一次【腐烂扩散】,使用BFS对二维图进行遍历,注意和二叉树的层次遍历不一样(二叉树则是只有一个根节点,这里可能有多个腐烂橘子-根

leetcode994腐烂的橘子

leetcode994 腐烂的橘子 题目描述 题目解析 深度优先遍历问题,需要利用队列来存取需要遍历的节点,同时为了维护遍历深度,需要维护一个字典来存取遍历深度 public int orangesRotting(int[][] grid){int[] dr = {-1, 1, 0, 0};int[] dc = {0, 0, -1, 1};int R = grid.length;int

腐烂的橘子(广搜leetcode994)-------------------c++/java实现

腐烂的橘子(广搜leetcode994)-------------------c++/java实现 题目表述 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可

[多源bfs]leetcode994:腐烂的橘子(medium)

题目: 题解: 思路:多源 bfs,初试在添加源点时,顺便统计橘子的个数,然后再进行 bfs 时,每扩展一层就减去腐烂的橘子就行了。 代码如下: int dx[]={0,0,1,-1},dy[]={1,-1,0,0};using PII = pair<int,int>;class Solution {public:// 思路:从多个烂橘子开始多源bfs,点(x,y)