Java-寻找矩阵连通域个数
2014-06-15 11:20
232 查看
给定一个矩阵,寻找连通域个数:前后左右相同为连通
ex:
0 1 0 1
0 1 1 1
0 0 1 0
0 1 0 0
输出2
利用深度搜索思路:
ex:
0 1 0 1
0 1 1 1
0 0 1 0
0 1 0 0
输出2
利用深度搜索思路:
public static int getCount(int[][] A) { int result = 0; for (int i = 0; i < A.length; i++) { for (int j = 0; j < A[0].length; j++) { if (A[i][j] == 1) { result++; erase(A, i, j); } } } return result; } public static void erase(int[][] A, int i, int j) { A[i][j] = 0; while (i - 1 >= 0 && A[i - 1][j] == 1) { erase(A, i - 1, j); } while (i + 1 < A.length && A[i + 1][j] == 1) { erase(A, i + 1, j); } while (j - 1 >= 0 && A[i][j - 1] == 1) { erase(A, i, j - 1); } while (j + 1 < A[0].length && A[i][j + 1] == 1) { erase(A, i, j + 1); } }
相关文章推荐
- 寻找01矩阵中的最大子矩阵--华为OJ机试--java语言版
- JAVA回溯, 实现 矩阵中的路径寻找问题
- 打印螺旋举矩阵-java
- 另一个特殊矩阵的Java实现
- 寻找更好的Java替代语言的10大理由-----Scala是个不错的选择
- 转圈显示的Java程序和两矩阵相乘
- 在Java中寻找ConcurrentHashSet吗?
- Java 和 C 速度性能比较 -- 矩阵相乘
- 寻找 JAVA 控件,彗都控件网\中国控件网(http://***)http://www.componentcn.com/
- 编程基本功——寻找矩阵中的“鞍点”
- java 矩阵统计计算
- 学习java中的数组:打印n*n矩阵的螺旋方形和回字形
- 矩阵连乘的JAVA实现(动态规划)
- JAVA 寻找-人鬼过河游戏的方法
- 离开Java,寻找更佳语言的10大理由
- 寻找JAVA练习题目,,速度
- 使用java正则表达式寻找密码
- Java排列矩阵
- 紧急寻找一整套完备的各类java基础试题
- 矩阵连乘问题的动态规划算法(java)