Java:多维数组中的连续区域,用于实现一个拉丁方

标签 java algorithm contiguous latin-square

我正在编写一个程序来读取潜在的 Latin Square并判断它是否是一个有效的拉丁方。现在我正在尝试判断所选区域是否是连续区域。

同时读入潜在的拉丁广场和该地区的位置。区域 [0,1][0,2][1,1][1,2] 将是一个有效区域,因为它是连续的; [0,0][0,2][1,1][1,2] 将不连续或有效,因为 [0,0] 不能到达。我如何判断它们是否相邻?

最佳答案

解决此问题的合理方法是 flood fill算法。

基本上,从您所在地区的任何一点开始,并通过标记该地区的所有邻居,然后标记该地区的所有邻居,在您的地区建立一组连接到起点的位置没有标记。当没有新的东西要标记时,您就找到了包含起点的最大连续区域。如果不是整个区域,则该区域不连续。

关于Java:多维数组中的连续区域,用于实现一个拉丁方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7862843/

相关文章:

java - JTable 将单元格颜色设置为特定值

java - 如何使用默认值初始化数据库

c++ - 如何检查迭代器是否形成连续的内存区域?

java - 对于两个值的中点以下的值,二进制搜索算法失败

c - 递归解决方案的任何其他解决方案

c++ - std::array 中的内存是否连续?

php - 将具有默认值的行插入包含日期的数组中,以便日期之间没有间隙

java - 由 ListDataProvider 支持的 GWT CellList 太慢

java - Windows 7 中的 JDK 安装错误

string - 我有一个特定的 1's and 0' 字符串,我想在另一个字符串中找到最合适的匹配项,最大误差为 20%