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

2024-5-13——腐烂的橘子

2024-5-13

      • 题目来源
      • 我的题解
        • 方法一 广度优先遍历

题目来源

力扣每日一题;题序:994

我的题解

方法一 广度优先遍历

开始找到所有的腐坏苹果,然后从这些位置开始广度优先遍历,直到队列中没有。然后判断是否还有未腐坏的苹果,若没有这将结果返回,若有则返回-1

时间复杂度:O(mn)。
空间复杂度:O(mn)。

public int orangesRotting(int[][] grid) {int res=0;int m=grid.length,n=grid[0].length;Queue<int[]> queue=new LinkedList<>();for(int i=0;i<m;i++){for(int j=0;j<n;j++){int t=grid[i][j];if(t==2){queue.offer(new int[]{i,j});}}}int[][] pos={{0,1},{0,-1},{1,0},{-1,0}};while(!queue.isEmpty()){int sz=queue.size();for(int i=0;i<sz;i++){int[] t=queue.poll();for(int[] p:pos){int x=t[0]+p[0];int y=t[1]+p[1];if(check(m,n,x,y)&&grid[x][y]==1){grid[x][y]=2;queue.offer(new int[]{x,y});}}}if(!queue.isEmpty())res++;}for(int i=0;i<m;i++){for(int j=0;j<n;j++){if(grid[i][j]==1)return -1;}}return res;
}
public boolean check(int m,int n,int x,int y){return x>=0&&x<m&&y>=0&&y<n;
}

有任何问题,欢迎评论区交流,欢迎评论区提供其它解题思路(代码),也可以点个赞支持一下作者哈😄~

相关文章:

  • 在Spring Boot项目中使用Redisson实现延迟执行
  • java基础篇(1)
  • Shell编程实际应用
  • 深度学习-06-手动进行反向传播
  • [数据集][目标检测]RSNA肺炎检测数据集VOC+YOLO格式6012张1类别
  • 手机号脱敏
  • 【前缀“选区-” bat脚本】
  • 汽车IVI中控开发入门及进阶(二十二):video decoder视频解码芯片
  • 深度学习入门-第3章-神经网络
  • 数据结构:链式队列
  • C++ Primer 第五版 第15章 面向对象程序设计
  • 结账和反结账
  • 【学习笔记】Windows GDI绘图(九)Graphics详解(中)
  • JVM 指针压缩
  • 超越Devin!姚班带队,他们创大模型编程新世界纪录
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【Amaple教程】5. 插件
  • echarts花样作死的坑
  • Fundebug计费标准解释:事件数是如何定义的?
  • input实现文字超出省略号功能
  • Javascript基础之Array数组API
  • Java基本数据类型之Number
  • JDK 6和JDK 7中的substring()方法
  • MQ框架的比较
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • October CMS - 快速入门 9 Images And Galleries
  • Python连接Oracle
  • sessionStorage和localStorage
  • Vue2 SSR 的优化之旅
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 给第三方使用接口的 URL 签名实现
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 算法-图和图算法
  • 听说你叫Java(二)–Servlet请求
  • 一份游戏开发学习路线
  • 通过调用文摘列表API获取文摘
  • ​数据链路层——流量控制可靠传输机制 ​
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (1)svelte 教程:hello world
  • (7)svelte 教程: Props(属性)
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (分布式缓存)Redis哨兵
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .gitignore不生效的解决方案
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .net 无限分类
  • .Net中的集合