文章目录
-
- 题目描述
- 输入描述
- 输出描述
- 用例
- 题目解析
- java源码
- js源码
- python源码
- c 源码
题目描述
输入一行字符串,字符串可转换为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
说明
无
题目解析
题目描述了一个模拟水域污染扩散的问题。我们有一个N*N的二维数组,其中0表示纯净的水域,1表示已经被污染的水域。每天,污染会向上下左右四个方向扩散,直到所有水域都被污染或者无法再扩散为止。
我们需要编写一个算法来模拟这个过程,并返回污染扩散到所有水域所需的天数。如果初始状态所有水域都是污染的(即全为1),或者存在无法被污染的水域(即被0包围的1),则返