力扣994题:腐烂的橘子

c33a09b148bc4edb804cd6051ee67e8e.png

 评论区有很多bfs板子的解法,我这里没有用队列,介绍一种很直白暴力,容易理解的方法。思路其实很简单,先搜索一遍,计算有橘子的数量,也就是腐烂的和新鲜的总数,再单独获得腐烂的数量。为什么呢?因为当搜索的时候,已腐烂的数量等于总橘子数时,说明已经完成“感染了”这个时候可以返回分钟数,但是怎么判断无法感染完所有的?很简单,我们在每一轮循环引入incre表示该轮感染的数量,如果为0表没办法感染了,因此就返回-1。

912afcda765842c09ae45fe68525b43e.png

 有两点需要注意:

第一是如果sum等于rot的话直接返回0,这个需要在开头特殊判断,第二是每一轮应该新new一个图来更新。

e91de88fb19c45db8a5d0dcca885c390.png

 要记得在搜索到新鲜橘子后把新鲜橘子搜索路径设置为true,否则在同一轮会让刚被感染的橘子又去感染他的周围,这样不符合题意

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值