一、题目描述
存在一个m*n的二维数组,其成员取值范围为0、1、2。
其中值为1的元素具备同化特性,每经过1秒,将上下左右值为0的元素同化为1。
而值为2的元素,免疫同化。
将数组所有成员随机初始化为0或2,再将矩阵的[0,0]元素修改为1,在经过足够长的时间后矩阵中有多少个元素是0或2,即0和2数量之和。
二、输入描述
输入的前两个数字是矩阵大小,后面是数字矩阵内容。
三、输出描述
返回矩阵中非1的元素个数。
四、解题思路
- 第一行输入矩阵二维数组大小m和n;
- 随后n行输入矩阵数组;
- [0,0]位置初始化为1;
- 建一个新的矩阵集合list;
- 将第一个1加入list;
- 每经过1秒,将上下左右值为0的元素同化为1;
- 最后输出非1的个数;
五、Java算法源码
package