当前位置: 首页 > news >正文

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

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);}}

相关文章:

  • 代码随想录打卡|Day50 图论(拓扑排序精讲 、dijkstra(朴素版)精讲 )
  • CentOS_7.9 2U物理服务器上部署系统简易操作步骤
  • 园区智能化集成平台汇报方案
  • 【C语言极简自学笔记】项目开发——扫雷游戏
  • 时序数据库IoTDB基于云原生的创新与实践
  • 【测试】Bug和用例
  • 测试概念 和 bug
  • git+svn+sourcetree客户端下载和安装教程
  • remote: error: hook declined to update refs/heads.....
  • 测试Bug篇
  • TDengine 运维——巡检工具(安装前预配置)
  • 今天遇到的bug
  • 【Bug】定时任务中 Jpa Save 方法失效
  • Docker常用命令操作指南(一)
  • 华为OD机试真题——求最多可以派出多少支队伍(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • 【论文阅读】《PEACE: Empowering Geologic Map Holistic Understanding with MLLMs》
  • stm32cube ide如何将工具链替换成arm-none-eabi-gcc
  • stm32cube ide如何生成LL库工程
  • C++23 std::fstreams基础回顾
  • 基于本地化大模型的智能编程助手全栈实践:从模型部署到IDE深度集成学习心得
  • dw和vs做网站哪个好用/泉州网站seo外包公司
  • wordpress 301代码/网站推广排名优化
  • 在闲鱼可以做网站吗/学大教育一对一收费价格表
  • 基于h5的企业网站建设/网络推广员的工作内容
  • 网站有必要公安备案/seo免费诊断
  • 怎样查看别人的网站是怎么建设/seo流量