[Lintcode]Number of Islands
来源:互联网 发布:暴雪铁人五项 知乎 编辑:程序博客网 时间:2024/06/10 17:43
Given a boolean 2D matrix, find the number of islands.
Example
Given graph:
[ [1, 1, 0, 0, 0], [0, 1, 0, 0, 1], [0, 0, 0, 1, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 1]]
return 3
.
遍历所有元素,遇到一个true时,改成false,并且对其相邻的值同样改为false
public class Solution { /** * @param grid a boolean 2D matrix * @return an integer */ public int numIslands(boolean[][] grid) { int res = 0; if(grid.length == 0) return 0; if(grid[0].length == 0) return 0; for(int i = 0; i < grid.length; i++) { for(int j = 0; j < grid[0].length; j++) { if(isIsland(grid, i, j)) res ++; } } return res; } private boolean isIsland(boolean[][] grid, int i, int j) { if(i >= grid.length || i < 0) return false; if(j >= grid[0].length || j < 0) return false; if(grid[i][j]) { grid[i][j] = false; isIsland(grid, i - 1, j); isIsland(grid, i + 1, j); isIsland(grid, i, j - 1); isIsland(grid, i, j + 1); return true; } else return false; }}
0 0
- [Lintcode]Number of Islands
- LintCode 433: Number of Islands
- Number of Islands
- Number of Islands
- Number of Islands
- [LeetCode] Number of Islands
- Leetcode-Number of Islands
- Number of Islands
- Leetcode Number of Islands
- [LeetCode]Number of Islands
- Number of Islands
- Number of Islands
- [leetcode]Number of Islands
- [leetcode] Number of Islands
- leetcode Number of Islands
- leetcode:Number of Islands
- [leetcode] Number of Islands
- 200 Number of Islands
- *[Lintcode]Minimum Subarray
- PyCUDA 学习笔记 -- pagelocked memory
- [Lintcode]Nth to Last Node in List
- 51Nod 1163 最高的奖励(贪心+优先队列/并查集合)
- 黑客教程
- [Lintcode]Number of Islands
- 悲观的人更容易获得好的感觉
- 人工智能技术与现代应用
- *[Lintcode]O(1) Check Power of 2
- EXCEL所有单元格加减乘除一个数 -- 选择性粘贴的用法
- 细说产品经理
- 产品经理和程序员的爱恨情仇
- day16:RDD实战(RDD基本操作实战及Transformation流程图)
- Java网络编程的基本使用