solved @xiaoshuai96

This commit is contained in:
xiaoshuai96 2020-04-20 19:51:27 +08:00
parent 650eeb55c0
commit 1c379889b0
3 changed files with 2 additions and 2 deletions

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -39,12 +39,12 @@
思路是非常简单的我们通过动态图直观理解下
![腐烂的橘子gif演示](../Animation/腐烂的橘子.gif)
![腐烂的橘子gif演示](../Animation/腐烂的橘子01.gif)
既然理清了思路那么我们来试试代码
首先我们需要知道初始状态下的单元格中有多少腐烂的橘子并且要将它们的位置信息保存下来我们可以用一个队列**先入先出**xy保存下来;然后我们开始遍历整个队列每次弹出一个保存的位置信息将这个位置周围的新鲜橘子全部腐蚀然后把该位置的信息从队列中删除旧的信息在下次腐蚀中已经没用了并且将被腐蚀的橘子的位置信息存入队列中在下次循环中从它们的位置上再**向外延伸**直到队列为空循环结束这个时候并不能说明整个单元格中已经不存在新鲜的橘子因为可能存在下面这种情况
![](../Animation/example.png)
![](../Animation/example01.png)
很明显标红的区域新鲜橘子永远不能被腐蚀因为它周围唯一的两个单元格是空的