200. Number of Islands(unsolved)
来源:互联网 发布:ubuntu 运行c 编辑:程序博客网 时间:2024/06/09 19:53
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
解答:
class Solution {public: int numIslands(vector<vector<char>>& grid) { if(grid.empty()||grid[0].size()==0) return 0; int res=0; vector<vector<bool>> visited(grid.size(),vector<bool>(grid[0].size(),false)); for(int i=0;i<grid.size();i++) { for(int j=0;j<grid[i].size();j++) { if(grid[i][j]=='1'&&visited[i][j]==false) { solve(grid,i,j,visited); res++; } } } return res; } void solve(vector<vector<char>>& grid,int i,int j,vector<vector<bool>>& visited) { if(i<0||j<0||i>=grid.size()||j>=grid[0].size()) return; if(grid[i][j]!='1'||visited[i][j]) return; visited[i][j]=true; solve(grid,i-1,j,visited); solve(grid,i,j-1,visited); solve(grid,i+1,j,visited); solve(grid,i,j+1,visited); }};
0 0
- 200. Number of Islands(unsolved)
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- 200. Number of Islands
- c++指针的一些陷阱(更新ing)
- thinkphp部署到Linux后验证码功能不显示
- 类和对象的深入剖析【整理】
- 神经网络向量化实现
- Protobuffer 中文序列化反序列化乱码?丢失?
- 200. Number of Islands(unsolved)
- Linux运维笔记-文档总结-Linux中的进程管理
- 火狐页面放缩比例一次设置永久有效
- QT第一天
- Android开发进阶—View事件分发机制完全解析(上)
- Q98:三角形网格细分Bezier曲面时,注意三角形顶点的顺序(确保其对应的法向量向外)
- Head First 设计模式(四)装饰者模式
- 九亭金鱼场吴刚先生
- heatmap.js 一个用canvas画热力图的利器