【重点】【BFS】994.腐烂的橘子

news/2025/2/16 5:55:10/

题目

法1:BFS

此方法类似二叉树层次搜索。

class Solution {public int orangesRotting(int[][] grid) {int[] dx = {-1, 1, 0, 0}; // 方向数组int[] dy = {0, 0, -1, 1};Queue<int[]> queue = new LinkedList<>();int m = grid.length, n = grid[0].length, res = 0, flash = 0;int[][] copyGrid = new int[m][n]; // 复制,保证不改变原始输入数组for (int i = 0; i < m; ++i) {for (int j = 0; j < n; ++j) {copyGrid[i][j] = grid[i][j];if (grid[i][j] == 1) {++flash;} else if (grid[i][j] == 2) {queue.offer(new int[]{i, j});}}}while (flash > 0 && !queue.isEmpty()) {++res;int tmpSize = queue.size();for (int i = 0; i < tmpSize; ++i) {int[] loc = queue.poll();int x = loc[0], y = loc[1];for (int k = 0; k < 4; ++k) {int newX = x + dx[k];int newY = y + dy[k];if ((newX >= 0 && newX < m) && (newY >= 0 && newY < n)&& copyGrid[newX][newY] == 1) {copyGrid[newX][newY] = 2;queue.offer(new int[]{newX, newY});--flash;}}}}if (flash > 0) {return -1;} return res;}
}

http://www.ppmy.cn/news/1271591.html

相关文章

flowable之三 启动一个流程并跟踪

1. 背景介绍 当我们部署一个流程并启动后&#xff0c;Flowable会按照既定流程定义及进行节点处理以及自动流转&#xff0c;从一个节点执行到下一个节点&#xff0c;直至结束。在此过程中&#xff0c;系统如何处理BPMN XML文件&#xff1f;节点如何进行流转&#xff1f;本文对f…

(第61天)多租户架构(CDB/PDB)

背景介绍 Oracle 的 CDB 和 PDB 是 Oracle 12C 及以上版本中引入的新概念,用于管理多租户数据库环境。 Oracle 数据库是商业数据库领域中的翘楚,其强大的功能和高可靠性备受企业用户追捧。而随着云计算和大数据时代的到来,Oracle 也不断推出新的技术以适应这些变化。CDB 技…

代码随想录算法训练营 | day52 动态规划 300.最长递增子序列,674.最长连续递增子序列,718.最长重复子数组

刷题 300.最长递增子序列 题目链接 | 文章讲解 | 视频讲解 题目&#xff1a;给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。…

hadoop3.3完全分布式(最简)

环境准备 3台CentOS7&#xff08;本例使用VMware替代&#xff09;jdk8Hadoop3.3 虚拟机基础准备 网络适配器选用NAT模式&#xff08;针对VMware&#xff09;设置静态IP&#xff0c;对应关系如下 名称地址hadoop01192.168.138.201hadoop02192.168.138.202hadoop03192.168.13…

拓展进阶:Python 中 Scipy 的优化与拟合

写在开头 在我们的Python科学计算之旅中&#xff0c;我们已经学习了Scipy库的基础功能&#xff0c;涉及数学运算、数据处理、统计分析等方面。然而&#xff0c;在实际的数据分析和科学研究中&#xff0c;我们经常面临着需要进一步优化算法和拟合数据的需求。本文将深入研究Sci…

linux 文本信息查询grep;控制命令执行和管道操作符号

1、grep grep "keyword" /path/to/logfile获取查询结果最后一行 grep "runs/detect/train" test4.log | tail -n 12、linux控制命令执行和管道操作符号 &、|、; 和 &&、》、>、< ##例子&#xff1b;wandb disabled && yolo …

【送书活动】探究AIGC、AGI、GPT和人工智能大模型

文章目录 前言01 《ChatGPT 驱动软件开发》推荐语 02 《ChatGPT原理与实战》推荐语 03 《神经网络与深度学习》推荐语 04 《AIGC重塑教育》推荐语 05 《通用人工智能》推荐语 后记赠书活动 前言 人工智能技术在过去几年中发展迅猛&#xff0c;得益于大数据、云计算、深度学习等…

unknown error 1146

Error 1146 in MySQL 是指找不到指定的数据库表。这个错误通常发生在你试图访问或操作一个不存在的数据库表时。 解决方式&#xff1a; 确保你使用的表名是正确的&#xff0c;检查拼写和大小写是否与数据库中的表名匹配。确保你正在使用正确的数据库。你可以使用以下命令切换到…