OJ---腐烂的橘子
运用广度优先搜索(BFS)
class Solution {public int orangesRotting(int[][] grid) {int count=0;//记录新鲜橘子int N = grid.length;//记录数组的行int M = grid[0].length;//记录数组的列Queue<int[]> queue = new LinkedList<>();for(int i=0;i<N;i++){for(int j=0;j<M;j++){if(grid[i][j]==1){count++;}else if(grid[i][j]==2){queue.add(new int[]{i,j});}}}int time = 0;//记时间while(!queue.isEmpty() && count>0){time++;int n = queue.size();for(int i=0;i<n;i++){int[] arr = queue.poll();int a = arr[0];//代表烂橘子的左右int b = arr[1];//代表烂橘子的上下if(a-1>=0 && grid[a-1][b]==1){count--;grid[a-1][b] = 2;queue.add(new int[]{a-1,b});}if(a+1<N && grid[a+1][b]==1){count--;grid[a+1][b] = 2;queue.add(new int[]{a+1,b});}if(b-1>=0 && grid[a][b-1]==1){count--;grid[a][b-1] = 2;queue.add(new int[]{a,b-1});}if(b+1<M && grid[a][b+1]==1){count--;grid[a][b+1] = 2;queue.add(new int[]{a,b+1});}}}if(count>0){return -1;}else {return time;}}
}
OJ---腐烂的橘子相关推荐
- Java——腐烂的橘子
题目链接 leetcode在线oj题--腐烂的橘子 题目描述 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐 ...
- 15.使用一样的BFS方法(代码几乎一模一样)解决多道LeetCode题目--542题(01矩阵)1765题(地图中的最高点)994腐烂的橘子
一.综述 本文总结自己刷LeetCode中遇到的使用BFS方法解决相同类型的题目.(代码几乎是一模一样) 二.01矩阵(LeetCode第542题) class Solution {int[][] d ...
- 文巾解题 994. 腐烂的橘子
1 题目描述 2 解题思路 2.1 多源广搜 使用广搜的思想,但是和一般的广搜不同,这里一开始的队列不是一个元素,而是一开始就腐烂的所有橘子的坐标. 同时我们队列里面的每一个元素是一个三元组,分别是腐 ...
- leetcode 994.腐烂的橘子
题目: 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂 ...
- 994. 腐烂的橘子
994. 腐烂的橘子 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新 ...
- leetcode994. 腐烂的橘子(bfs)
在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂. 返回 ...
- LeetCode 994. 腐烂的橘子(图的BFS)
1. 题目 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会 ...
- Leetcode--994. 腐烂的橘子(java)
在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂. 返回 ...
- LeetCode 994. 腐烂的橘子
994. 腐烂的橘子 思路:直接bfs会出现2个腐烂的橘子在两边同时进行,这样会错误. 正确思路:每分钟变化后所有橘子状态为next_grid,直到橘子状态不改变.如果状态不变,且无新鲜的橘子则返回时 ...
- 【广度优先搜索】leetcode 994. 腐烂的橘子
994. 腐烂的橘子 文章目录 题目描述 示例1: 示例2: 示例3: 提示 方法:多源广度优先搜索 解题思路 代码 复杂度分析 题目描述 在给定的 m x n 网格 grid 中,每个单元格可以有以 ...
最新文章
- Kendo UI Web教程分享
- 县域经济谋定特色农产品-农业大健康·万祥军:品牌是抓手
- ios 跳转到某 app 的评价区域、由某应用跳转到其他应用
- 构建基于分布式SOA架构的统一身份认证体系
- UITableview高度计算
- 得到MP3中隐藏的信息
- Ruby之入门(一)
- PHP中preg_match_all正则匹配出需要的内容
- ajax 传文件和参数,Ajax上传文件及携带参数
- 数学建模-灰色系统理论与灰色关联分析
- matlab正弦波用示波器测失真,请教下,自己做个正弦波信号发生器,如何测试波形的失真大小?...
- 服务器系统才有卷影副本吗,windows server 2019没有适合具有卷影副本的卷
- 2022年上海市安全员C证考试试题模拟考试平台操作
- 【操作系统】-- 动态分区分配算法(首次适应算法FF、最佳适应算法BF、最坏适应算法WF、循环首次适应算法NF)
- 理解LSTM神经网络 ---- 翻译 Understanding LSTM Networks
- kubernetes各组件介绍
- 我在simulink与adams联合仿真中遇到关于Error in Adams(server) simulation startup问题及解决办法。
- java ocr 识别中文
- java编译错误:程序包javax.servlet不存在javax.servlet.*
- HTML网页打印实现分页打印功能