leetcode No200. Number of Islands
来源:互联网 发布:王洋java视频 编辑:程序博客网 时间:2024/05/22 06:04
Question:
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
Algorithm:
DFS,从边界找,如果是1,则让它的上下左右都为0,然后count++,
Accepted Code:
class Solution {public: int numIslands(vector<vector<char>>& grid) { if(grid.empty()) return 0; int M=grid.size(); int N=grid[0].size(); int res=0; for(int i=0;i<M;i++) for(int j=0;j<N;j++) if(grid[i][j]=='1'){ DFS(grid,i,j); res++; } return res; } void DFS(vector<vector<char>>& grid,int i,int j){ int M=grid.size(); int N=grid[0].size(); grid[i][j]='0'; if(i>0 && grid[i-1][j]=='1') DFS(grid,i-1,j); if(i<M-1 && grid[i+1][j]=='1') DFS(grid,i+1,j); if(j>0 && grid[i][j-1]=='1') DFS(grid,i,j-1); if(j<N-1 && grid[i][j+1]=='1') DFS(grid,i,j+1); }};
0 0
- leetcode No200. Number of Islands
- [LeetCode] Number of Islands
- Leetcode-Number of Islands
- Leetcode Number of Islands
- [LeetCode]Number of Islands
- [leetcode]Number of Islands
- [leetcode] Number of Islands
- leetcode Number of Islands
- leetcode:Number of Islands
- [leetcode] Number of Islands
- [LeetCode] Number of Islands
- LeetCode:Number of Islands
- Leetcode: Number of Islands
- 【LeetCode】Number of Islands
- [leetcode] Number of Islands
- leetcode--Number of Islands
- Leetcode|Number of Islands
- Number of Islands -- leetcode
- TabLayout与ViewPager的联合使用
- 解决solr6.0不支持IK分词器问题
- NOIP 2015 提高组 Day1 T1 神奇的幻方
- 记我的一次shiro整合
- 一线架构师带你玩性能优化
- leetcode No200. Number of Islands
- 操作系统——文件管理
- ueidtor 插入带尖括号内容,保存后再次编辑该内容,内容消失
- 现在的应届生普遍眼高手低,真的值得招吗?
- Gradient_patch_recovery, Z_Z posteriori error estimator
- PE 144 Investigating multiple reflections of a laser beam (计算几何)
- 多容器应用栈(node+主从redis)
- Android Webview清除缓存和Cookie
- 【Linux C++】拥抱C++,Mark一下