java - 搜索二维矩阵内的最大区域

标签 java algorithm breadth-first-search

所以我有一个算法问题,我需要在具有以下条件的 2D 矩阵中找到某种类型像素的最大区域:

  1. 每个像素可以对角连接或相邻连接。
  2. 只有被其他类型的像素包围的区域才被认为是连贯的

像素被认为是具有 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/

相关文章:

java - 使用onClick接口(interface)时RecyclerView适配器导致内存泄漏

breadth-first-search - Javascript - 使用 BFS 从头开始​​ getElementbyID?

java - Neo4j BFS 对具有给定标签的节点

java - 创建可扩展的 Java 库 (JAR)

java - 程序进行覆盖

java - 使用 ScheduledExecutorService 创建计时器

algorithm - 处理边界框内移动点接触和包含的数据结构?

algorithm - 设计数据路径以求和三个输入中最大的两个

algorithm - 计算 0..n 范围内的哈希函数

algorithm - 您是在递归算法中以广度优先还是深度优先进行搜索?