2025年- H57-Lc165--994.腐烂的橘子(图论,广搜)--Java版

article/2025/9/6 21:35:33

1.题目描述

在这里插入图片描述

2.思路

在这里插入图片描述

3.代码实现

import java.util.LinkedList;
import java.util.Queue;public class H994 {public int orangesRotting(int[][] grid) {//1.获取行数int rows=grid.length;int cols=grid[0].length;//2.创建队列用于bfsQueue<int[]> que=new LinkedList<>();//3.记录新鲜橘子的数量int fresh=0;//4.遍历整个网络,初始化队列for(int i=0;i<rows;i++){for(int j=0;j<cols;j++){//如果是腐烂的橘子,加入队列中作为bfs的起点if(grid[i][j]==2){//把腐烂橘子当前坐标加入到队列中que.offer(new int[]{i,j});}//如果是新鲜橘子,统计数量if(grid[i][j]==1){fresh++;}}}//如果没有新鲜的橘子,直接返回0分钟if(fresh==0) return 0;//定义方向数组,用于上下左右int[][] dirs={{1,0},{0,1},{0,-1},{-1,0}};int minutes=0;//记录分钟数//bfs开始,因为que存储了腐烂的橘子的坐标while(!que.isEmpty()){int size=que.size();//这一分钟是否有橘子感染boolean rotted=false;for(int i=0;i<size;i++){int[] pos=que.poll();//删除队首元素,并返回队首元素的值int x=pos[0];int y=pos[1];//遍历腐烂橘子的四个方向//dirs是二维数组,也就是一维数组dir[]的一维数组for(int[] dir:dirs){int nextx=x+dir[0];int nexty=y+dir[1];//如果在网格内且是新鲜橘子,将它变成腐烂橘子,并把新鲜橘子数-1if(nextx>=0&&nextx<rows&&nexty>=0&&nexty<cols&&grid[nextx][nexty]==1){//变成腐烂橘子grid[nextx][nexty]=2;//新鲜橘子数量减少fresh--;//加入下一轮处理que.offer(new int[]{nextx,nexty});rotted=true;//防止腐烂的橘子重复计数}}}if(rotted==true){minutes++;}}if(fresh==0){return minutes;}else {return -1;}}public static void main(String[] args){int[][] grid={{2,1,1},{1,1,0},{0,1,1}};H994 test=new H994();int result=test.orangesRotting(grid);System.out.print(result);}}

http://www.hkcw.cn/article/DFtdMeOibR.shtml

相关文章

RK3568DAYU开发板-平台驱动开发--UART

1、程序介绍 本程序是基于OpenHarmony标准系统编写的平台驱动案例&#xff1a;UART 系统版本:openharmony5.0.0 开发板:dayu200 编译环境:ubuntu22 部署路径&#xff1a; //sample/06_platform_uart 2、基础知识 2.1、UART简介 UART指异步收发传输器&#xff08;Univer…

【东枫科技】KrakenSDR 测向快速入门指南

本快速入门指南旨在帮助您使用运行在 Raspberry Pi 4/5 或 Orange Pi 5B (OPI5B)&#xff08;带 WiFi 型号&#xff09;上的 KrakenSDR 尽快连接到测向应用程序。不过&#xff0c;请务必阅读本手册的其余部分&#xff0c;以了解无线电测向的工作原理。 你需要什么 本指南假设…

每日算法-250529

2909. 元素和最小的山形三元组 II 题目 思路 数组, 前后缀分解 解题过程 对于寻找满足特定条件的三元组 (nums[i], nums[j], nums[k]) 且 i < j < k 的问题&#xff0c;一个常见的思路是枚举中间元素 nums[j]。 确定目标&#xff1a;我们要找的是和最小的 “山形三元组…

ASP.NET MVC添加视图示例

ASP.NET MVC高效构建Web应用- 商品搜索 - 京东 视图&#xff08;V&#xff09;是一个动态生成HTML页面的模板&#xff0c;它负责通过用户界面展示内容。本节将修改HelloWorldController类&#xff0c;并使用视图模板文件&#xff0c;以干净地封装生成对客户端的HTML响应的过程…

Pix4d航测软件正射影像生产流程(一)项目创建及快速空三

1.数据准备 此数据为精灵4RTK无人机拍摄的照片,照片数据完整,像控点数据为RTK采集的CGCS2000坐标系数据。 2.打开pix4D航测软件、打开新项目 打开pix4D航测软件,软件必须在断网的情况下使用。

day 24 元组和OS模块

一、元组 元组&#xff08;Tuple&#xff09;是 Python 中一种不可变的序列数据类型。元组一旦创建&#xff0c;其元素不能被修改、删除或添加。这一特性使得元组在需要保护数据不被意外更改的场景中非常有用&#xff0c;比如作为字典的键或在多线程环境中共享数据。 1、元组…

python 制作复杂表格报告

python 制作复杂表格报告 最近用&#xff4f;&#xff44;&#xff4f;&#xff4f;集成检测系统&#xff0c;有一复杂表格报告需要处理&#xff0c;即要用到数据库中详细实验信息&#xff0c;检测项格式也不统一&#xff0c;在word中需要有宣然&#xff0c;有列合并&#xff…

unity星空运动

// Upgrade NOTE: replaced ‘_Object2World’ with ‘unity_ObjectToWorld’ // Upgrade NOTE: replaced ‘mul(UNITY_MATRIX_MVP,)’ with UnityObjectToClipPos()’ Shader “Unlit/Texture_046” { Properties { _F(“F”,range(1,10)) 4 _MainTex(“MainTex”,2D) “”…

【电拖自控】转速检测数字测速(脉冲计数测速)

电力拖动自动控制系统第4版上海大学阮毅 &#xff08;脉冲计数测速可以用光电式编码器或霍尔编码器。&#xff09; 旋转编码器 光电式旋转编码器是检测转速或转角的元件。 旋转编码器可分为绝对式和增量式两种。绝对式常用于检测转角&#xff0c;增量式用于测转速。 增量式…

软考-系统架构设计师-第十六章 层次式架构设计理论与实践

层次式架构设计理论与实践 16.2 表现层框架设计16.3 中间层框架设计16.4 数据访问层设计16.5 数据架构规划与设计16.6 物联网层次架构设计 软件体系结构为软件系统提供了结构、行为和属性的高级抽象&#xff0c;由构成系统的元素描述这些元素的相互作用、指导元素集成的模式以及…

ZigBee 协议:开启物联网低功耗通信新时代

在物联网蓬勃发展的时代&#xff0c;无线通信技术犹如连接万物的桥梁&#xff0c;而 ZigBee 协议以其独特的优势&#xff0c;在众多通信协议中脱颖而出&#xff0c;成为构建低功耗、可靠物联网网络的关键技术之一。 一、ZigBee 协议的起源与发展 ZigBee 这个名字充满了自然的灵…

计算机网络常见体系结构、分层必要性、分层设计思想以及专用术语介绍

计算机网络体系结构 从本此开始&#xff0c;我们就要开始介绍有关计算机网络体系结构的知识了。内容包括&#xff1a; 常见的计算机网络体系结构 计算机网络体系结构分层的必要性 计算机网络体系结构的设计思想 举例说明及专用术语 计算机网络体系结构是计算机网络课程中…

React---day4

3、React脚手架 生成的脚手架的目录结构 什么是PWA PWA全称Progressive Web App&#xff0c;即渐进式WEB应用&#xff1b;一个 PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用&#xff1b;随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线…

初识高通平台收货总结(比较杂)

1、CameraHAL3数据流向 CamraHAL3数据流向图&#xff1a; Camera数据从sensor出来&#xff0c;首先会经过IFE,然后分预览/视频和拍照2种情况。 如果是预览或者录像&#xff0c;是先经过IPE处理&#xff0c;最后输出到显示。 如果是拍照&#xff0c;则是先经过BSP处理&#x…

小牛电动NLT Citi 2025 登场:重塑电自标准,媲美电摩性能

在电动车的世界里&#xff0c;小牛电动一直是创新与品质的代名词。2025 年&#xff0c;小牛 NLT Citi 震撼登场&#xff0c;重新定义了电动自行车的标准&#xff0c;带来前所未有的电摩级体验。 经典大牛电自版全面升级&#xff0c;NLT Citi 完美继承了小牛智能超满配的实力基…

下载jdk教程

首先登录Oracle账号&#xff0c;感谢一下老哥的账号分享 Oracle账号分享_oracle共享账号-CSDN博客 如下有三个版本的jdk下载 推荐下载中间那个 你可以根据自己的需求选择合适的下载方式&#xff0c;下面是每个选项的简要说明&#xff1a; 1. x64 Compressed Archiv…

中国头盔护具展在杭州举办合适

2024年&#xff0c;浙江的人均GDP超过2.5万美元&#xff0c;人均收入和人均消费更是全国第一&#xff1b;省外人口实际净流入达45.4万人&#xff0c;居各省份第一。杭州是浙江省会是中国第八座“两万亿之城”之一‌&#xff0c;城区总人口突破千万&#xff0c;实现从特大城市到…

SpringCloud

微服务 一&#xff1a;MP补充&#xff1a; 1.1.注解&#xff1a; 1.2.配置&#xff1a; 1.3.条件构造器&#xff1a; 1.4.自定义sql&#xff1a; 在有些业务中&#xff0c;需要我们手动来编写部分sql语句&#xff0c;但是在开发业务中&#xff0c;sql语句是不能直接暴露在业…

基于大数据的个性化购房推荐系统设计与实现(源码+定制+开发)面向房产电商的智能购房推荐与数据可视化系统 基于Spark与Hive的房源数据挖掘与推荐系统设计

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…