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

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

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:

11110110101100000000

Answer: 1

Example 2:

11000110000010000011

Answer: 3

大致题意

找出岛屿的数量(1表示陆地)

题解

题目类型:dfs

我们遇到 1 便开始dfs消除关联的陆地,并返回岛屿的大小,如果该岛屿有大小,证明其存在(消除之后算不存在),count + 1

代码如下

class Solution {public:    int numIslands(vector
>& grid) { int count = 0; for (int i = 0; i < grid.size(); i++) { for (int j = 0; j < grid[i].size(); j++) { if (search(i, j, grid)) { count ++; } } } return count; } int search(int row, int column, vector
>& grid) { if (row >= 0 && column >= 0 && row < grid.size() && column < grid[row].size() && grid[row][column] == '1') { grid[row][column] = '0'; return 1 + search(row + 1, column, grid) + search(row - 1, column, grid) + search(row, column + 1, grid) + search(row, column - 1, grid); } return 0; }};

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

你可能感兴趣的文章
云,git,远程工作等问题
查看>>
php 导出excel
查看>>
tomcat Digester Rule
查看>>
Oracle显示正在执行的sql
查看>>
24th Data Sizes
查看>>
产生Fibonacci数列
查看>>
Bootstrap 3学习笔记
查看>>
Oracle基础知识-oracle常用命令
查看>>
d语言之异常
查看>>
网页版几何画板开发笔记(三)
查看>>
Oracle SQL的优化规则解析
查看>>
View 的生命周期
查看>>
解析android support lib是怎么回事
查看>>
shell来start、stop、restart应用程序模板
查看>>
球面坐标的面积计算
查看>>
DOS中adb的使用
查看>>
Declare&bind queue dynamically with RabbitMQ
查看>>
svn的问题集
查看>>
Windows环境下, 通过 npm install -g 安装的全局模块, 可能无法在app中被r
查看>>
hyperledger fabric1.0部署实操 二
查看>>