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

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

题目

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

思路

可以参考:

有一点不同的是本题目只用考虑四个方向,而参考题目是考虑了8个方向。

代码

/*------------------------------------------------------*   日期:2014-04-10*   作者:SJF0115*   题目: 200.Number of Islands*   网址:https://leetcode.com/problems/number-of-islands/*   结果:AC*   来源:LeetCode*   博客:--------------------------------------------------------*/#include 
#include
using namespace std;class Solution {public: int numIslands(vector
> &grid) { // 行数 int row = grid.size(); if(row == 0){ return 0; }//if // 列数 int col = grid[0].size(); if(col == 0){ return 0; }//if int count = 0; for(int i = 0;i < row;++i){ for(int j = 0;j < col;++j){ // 如果是1且没有被访问过则发现一个新的岛屿 if(grid[i][j] == '1'){ // 以该岛屿做深度遍历 DFS(grid,row,col,i,j); ++count; }//if }//for }//for return count; }private: // grid 地图 row 行数 col 列数 (x,y)当前坐标 void DFS(vector
> &grid,int row,int col,int x,int y){ if(x < 0 || y < 0 || x >= row || y >= col || grid[x][y] == '0'){ return; }//if grid[x][y] = '0'; // right DFS(grid,row,col,x,y+1); // left DFS(grid,row,col,x,y-1); // top DFS(grid,row,col,x-1,y); // bottom DFS(grid,row,col,x+1,y); }};int main() { Solution solution; vector
> grid = { { '1', '1', '0', '0', '0'}, { '1', '1', '0', '0', '0'}, { '0', '0', '1', '0', '0'}, { '0', '0', '0', '1', '1'} }; cout<
<

运行时间

这里写图片描述

你可能感兴趣的文章
Performing RMAN Tablespace Point-in-time Recovery(TSPITR)
查看>>
弱引用研究
查看>>
JQuery 判断checkbox是否选中,checkbox全选,获取checkbox选中值
查看>>
高考焦虑现象源于就业焦虑
查看>>
Lync Server 2013企业版部署系列之二:准备DNS
查看>>
启动3个线程轮番打印递增的数字
查看>>
PHP FLUSH 函数 在IE11中 清除缓存的方法
查看>>
lvm相关知识
查看>>
[转] 《全唐诗》《全宋词》
查看>>
C Primer Plus (第五版) 第二章 编程练习
查看>>
利用fake 在豆瓣小组 (半)自动化回帖功能
查看>>
jqxfileupload+springmvc上传资源
查看>>
如何解决ABBYY中区域未正确检测问题
查看>>
解决本地文件的词典翻译问题
查看>>
mongodb、3-基本的命令
查看>>
ubuntu pdf合并方法
查看>>
TCP网络编程流程
查看>>
远程ssh连接过慢,解决方法
查看>>
Extjs API
查看>>
linux基本命令grep egrep fgrep用法以及正则表达式
查看>>