所以我有一个算法问题,我需要在具有以下条件的 2D 矩阵中找到某种类型像素的最大区域:
- 每个像素可以对角连接或相邻连接。
- 只有被其他类型的像素包围的区域才被认为是连贯的
像素被认为是具有 3 个字段的对象:
int x,y;
String type;
boolean visited;
输入文件是这样的:
00000000
01100100
00111000
00010000
00000000
有人能告诉我 BFS 算法是否是一个可行的解决方案,或者我应该尝试不同的方法吗?
最佳答案
BFS 是更好的选择。更具体地说,尝试使用flood fill 方法。通过巧妙地使用 visited
变量,确保您最多访问每个顶点一次,从而将时间复杂度保持在最低水平。
关于java - 搜索二维矩阵内的最大区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58492517/