[Leetcode]Number of Island

转载 2015年07月07日 09:55:24

[题目]

Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.

Example 1:

11110
11010
11000
00000

Answer: 1

Example 2:

11000
11000
00100
00011

Answer: 3


[思路]

对于grid里面遇到的“1”,利用DFS,进行搜索深入,只要是相连的,就挖出来变成0,好聪明啊。。。简直了哦。

[代码]

public class Solution {
    private static final int[][] DIRS = new int[][]{{1,0},{-1,0},{0,1},{0,-1}};
    private static final char L = '1', W = '0';

    public void dfsFill(char[][] g, int x, int y) {
        if (x >= 0 && x < g.length && y >= 0 && y < g[0].length && g[x][y] == L) {
            g[x][y] = W;
            for (int[] d : DIRS) dfsFill(g, x + d[0], y + d[1]);
        }
    }

    public int numIslands(char[][] grid) {
        int num = 0;
        for (int i = 0; i < grid.length; i++) {
            for (int j = 0; j < grid[0].length; j++) {
                if (grid[i][j] == L) {
                    num++;
                    dfsFill(grid, i, j);
                }
            }
        }
        return num;
    }
}


leetcode 200 : Number of Islands

leetcode 200 : Number of Islands java c++ python
  • xudli
  • xudli
  • 2015年05月22日 07:40
  • 7342

【LeetCode】Number of Islands 解题报告

【题目】 Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An isl...
  • ljiabin
  • ljiabin
  • 2015年04月10日 10:16
  • 17479

[leetcode] 305. Number of Islands II 解题报告

题目链接: https://leetcode.com/problems/number-of-islands-ii/ A 2d grid map of m rows and n columns i...
  • qq508618087
  • qq508618087
  • 2016年03月26日 06:50
  • 1952

第三周:( LeetCode200 ) Number of Islands(c++)

原题:本题是经典的简单图论问题,求岛的个数也即求图上的连通区间的个数。可采用深搜或者广搜。假设共有n个点,时间复杂度为o(n)。本题笔者采用深搜的递归和非递归两种解法。将遍历过的“1”被改为“0”,其...
  • marlonlyh
  • marlonlyh
  • 2017年03月09日 19:25
  • 191

leetcode- Island Perimeter

题目:You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 rep...
  • u013362975
  • u013362975
  • 2016年11月30日 16:48
  • 438

python--leetcode463. Island Perimeter

You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represen...
  • wenqiwenqi123
  • wenqiwenqi123
  • 2017年09月29日 20:39
  • 141

leetcode 695(Max Area of Island)

leetcode
  • zlzl8885
  • zlzl8885
  • 2017年10月09日 15:57
  • 956

【leetcode】463. Island Perimeter【E】

You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represen...
  • sscssz
  • sscssz
  • 2016年11月21日 13:06
  • 937

LeetCode695:Max Area of Island 解答

写这道题用了我一个小时的时间,算是比较难的一道题目,解题的过程也很干净利落下面来看一下题目 Given a non-empty 2D array grid of 0’s and 1’s, an i...
  • neverever01
  • neverever01
  • 2017年10月16日 15:59
  • 227

[leetcode] 463. Island Perimeter 解题报告

题目链接: https://leetcode.com/problems/island-perimeter/ You are given a map in form of a two-dim...
  • qq508618087
  • qq508618087
  • 2016年11月25日 12:34
  • 2233
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Leetcode]Number of Island
举报原因:
原因补充:

(最多只允许输入30个字)