博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
200. Number of Islands
阅读量:5903 次
发布时间:2019-06-19

本文共 1311 字,大约阅读时间需要 4 分钟。

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:Input:11110110101100000000Output: 1Example 2:Input:11000110000010000011Output: 3

难度:medium

题目:

给定一个由1和0组成的二维表格,1表示陆地 0表示水域,统计陆地数。一块陆地是由水域包围且由水平和垂直陆地连结而成。你可以假定表格的四边都由水域包围。

思路:

递归遍历,将遍历过的位置标记出来。

Runtime: 3 ms, faster than 100.00% of Java online submissions for Number of Islands.

class Solution {    public int numIslands(char[][] grid) {        int count = 0;        for (int i = 0; i < grid.length; i++) {            for (int j = 0; j < grid[i].length; j++) {                if ('1' == grid[i][j]) {                    colorGrid(grid, i, j);                    count++;                }            }        }                return count;    }        private void colorGrid(char[][] grid, int i, int j) {        if (i < 0 || i >= grid.length             || j < 0 || j >= grid[i].length             || '0' == grid[i][j] || 'X' == grid[i][j]) {            return;        }                grid[i][j] = 'X';        colorGrid(grid, i + 1, j);        colorGrid(grid, i - 1, j);        colorGrid(grid, i, j + 1);        colorGrid(grid, i, j - 1);    }}

转载地址:http://duupx.baihongyu.com/

你可能感兴趣的文章
三种判断端口存活的方法和链接200的判断方法
查看>>
我的友情链接
查看>>
ftp协议基础
查看>>
顺时针打印矩阵
查看>>
JAXB
查看>>
端口聚合配置
查看>>
访问共享经常中断
查看>>
当你有一个锤子,你看什么都像钉子
查看>>
一个很实用的samba案例
查看>>
人生的交易
查看>>
TP5中关联模型的使用详解
查看>>
springMVC注解之入门
查看>>
不用花钱!Android模拟器让你在电脑上免费体验谷歌手机
查看>>
MySql
查看>>
算法分析与设计——贪心法实验报告
查看>>
js时间戳与日期格式的相互转换
查看>>
POJ - 1062 昂贵的聘礼(Dijkstra)
查看>>
Java多态和动态绑定是如何实现的
查看>>
sql server 下载安装标记
查看>>
Android学习6—单元测试的使用
查看>>