一、题目描述
存在一个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 com.guor.od
这篇博客介绍了华为在线测评(OD)中的一道题目,涉及一个m*n的矩阵,其中1具有同化0的能力但不能同化2。初始将[0,0]设为1,然后通过广度优先搜索模拟同化过程,最终统计矩阵中非1的元素(0和2)的数量。博主提供了详细的解题思路和Java算法源码,并展示了输入、输出及同化过程。"
111704032,10296067,Iris框架下MVC模式与Session管理,"['Golang', 'Web开发', 'Iris框架', 'MVC', 'Session']
订阅专栏 解锁全文
692

被折叠的 条评论
为什么被折叠?



