news 2026/9/12 19:24:12

LeetCode hot100——994.腐烂的橘子

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode hot100——994.腐烂的橘子

题目

在给定的m x n网格grid中,每个单元格可以有以下三个值之一:

  • 0代表空单元格;
  • 1代表新鲜橘子;
  • 2代表腐烂的橘子。

每分钟,腐烂的橘子周围 4 个方向上相邻的新鲜橘子都会腐烂。

返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回-1

示例 1:

输入:grid = [[2,1,1],[1,1,0],[0,1,1]]输出:4

示例 2:

输入:grid = [[2,1,1],[0,1,1],[1,0,1]]输出:-1解释:左下角的橘子(第 2 行, 第 0 列)永远不会腐烂,因为腐烂只会发生在 4 个方向上。

示例 3:

输入:grid = [[0,2]]输出:0解释:因为 0 分钟时已经没有新鲜橘子了,所以答案就是 0 。

提示:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 10
  • grid[i][j]仅为012

题解

class Solution { public int orangesRotting(int[][] grid) { Queue<int[]> queue = new LinkedList<>();//存每轮腐烂橘子 int fresh = 0; for(int i = 0;i < grid.length;i++){ for(int j = 0;j < grid[0].length;j++){ if(grid[i][j] == 1) fresh++;//新鲜橘子 else if(grid[i][j] == 2) queue.offer(new int[]{i,j});//腐烂橘子入队 } } if(fresh == 0) return 0;//所有单元格都没新鲜橘子 int[][] dirs = {{-1,0},{1,0},{0,-1},{0,1}};//上下左右 int minute = -1;//初始腐烂橘子++记0 while(!queue.isEmpty()){ int size = queue.size(); for(int i = 0;i < size;i++){ int[] cur = queue.poll(); int r = cur[0]; int c = cur[1]; //对腐烂橘子四周扩散 for(int[] dir:dirs){ int nr = dir[0] + r; int nc = dir[1] + c; if(nr >= 0 && nr < grid.length && nc >= 0 && nc < grid[0].length && grid[nr][nc] == 1){ grid[nr][nc] = 2; fresh--; queue.offer(new int[]{nr,nc}); } } } minute++; } return fresh > 0 ? -1 : minute; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 19:24:10

小程序体验优化提升带货转化率的7个关键点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 19:23:03

手表App开发选型不踩坑:平台、跨端框架与UI交互指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 19:19:17

框架脚手架搭建,推送github一键使用

参考&#xff1a; vue的官方脚手架 vuejs/create-vue: &#x1f6e0;️ The recommended way to start a Vite-powered Vue project 脚手架仓库搭建总流程 第一步&#xff1a;初始化脚手架工程&#xff08;CLI 外壳&#xff09; 新建工程根目录&#xff1a; 在本地新建一…

作者头像 李华
网站建设 2026/9/12 19:18:15

确定性刹车实测:agent 说的每句话,先过工具这一关

一、为什么我盯上这个项目 前面 DseWiki 那篇我拉了那个废弃 wiki 上的 14,591 条留言,结论很冷:agent 之间会自己交接、自己定规矩,没有一条想到通知人类。当时稿还没发,OpenAI 官方就确认了这起事件(前后不到 48 小时),说在搞披露框架。 官方在补制度,工程侧在补工具。 今…

作者头像 李华
网站建设 2026/9/12 19:15:36

Switch平台GBA模拟器优化与高清滤镜技术解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华