LintCode 433. Number of Islands 原创Java参考解答

LintCode 433. Number of Islands 原创Java参考解答

问题描述

http://www.lintcode.com/en/problem/number-of-islands/

Given a boolean 2D matrix, find the number of islands.

Notice

0 is represented as the sea, 1 is represented as the island. If two 1 is adjacent, we consider them in the same island. We only consider up/down/left/right adjacent.

Example

Given graph:

return 3.

解题思路

题意是相邻的1算作是同一个岛,求岛屿数量。

  1. 这道题用DFS深度优先搜索的方法最为直观,也容易理解。
  2. 两重循环遍历1的位置,0则忽略。然后从找到的1位置深度优先搜索,上下左右搜索,并把遇到的1都变成0。每进行一次DFS,岛屿计数+1。

参考代码

相关题目

LintCode All in One 原创题目讲解汇总

发表评论

电子邮件地址不会被公开。 必填项已用*标注