题目描述
输入一行字符串,字符串可转换为N*N的数组,数组可认为是一个水域,判断多少天后,水域被全部污染。
数组中只有0和1,0表示纯净,1表示污染,每天只可污染上下左右的水域,如果开始全部被污染,或永远无法污染,则返回-1。
输入描述
无
输出描述
无
用例
输入 1,0,1,0,0,0,1,0,1
输出 2
说明
输入转化为数组为:
1 0 1
0 0 0
1 0 1
第一天后水域变为
1 1 1
1 0 1
1 1 1
第二天全部被污染
输入 0,0,0,0
输出 -1
说明 无
解题思路:
- 将输入的字符串转换为二维数组。
- 遍历二维数组,统计纯净水域的数量。
- 如果纯净水域数量为0,返回-1。
- 使用广度优先搜索(BFS)算法,从每个纯净水域开始,每天向上下左右四个方向扩散污染。
- 记录每一天的污染情