【leetCode刷题日记】200. Number of Islands
来源:互联网 发布:网络直播在线观看 编辑:程序博客网 时间:2024/05/16 13:57
class Solution {private: vector<vector<bool>> isCounted; int d[4][2] = {{0,1},{1,0},{0,-1},{-1,0}};//四方向移动 int r,c; bool isLegal(int x,int y){ return 0<=x && x<r && 0<=y && y<c; } void dfs(vector<vector<char>>& grid,int i, int j){ isCounted[i][j] = true; //cout<<i<<" "<<j<<endl; for(int k=0;k<4;k++){ int newx = i + d[k][0]; int newy = j + d[k][1]; if(isLegal(newx,newy) && !isCounted[newx][newy] && grid[newx][newy] == '1'){ dfs(grid,newx,newy); } } return; }public: int numIslands(vector<vector<char>>& grid) { int res = 0;//岛屿数量 r = grid.size();//行数 if(r == 0) return 0; c = grid[0].size();//列数 isCounted = vector<vector<bool>>(r,vector<bool>(c,false)); for(int i = 0;i < r; i++){ for(int j = 0;j < c;j++){ if(!isCounted[i][j] && grid[i][j] == '1'){ //cout<<"a"<<endl; //floodfill,用dfs将周围岛屿全部标记 dfs(grid,i,j); res++; } } } return res; }};
阅读全文
0 0
- 【leetCode刷题日记】200. Number of Islands
- [LeetCode]200.Number of Islands
- LeetCode 200. Number of Islands
- [leetcode] 200.Number of Islands
- 【leetcode】 200. Number of Islands
- [leetcode] 200. Number of Islands
- Leetcode 200. Number of Islands
- 200. Number of Islands LeetCode
- leetcode 200. Number of Islands
- LeetCode 200. Number of Islands
- leetcode.200. Number of Islands
- LeetCode 200. Number of Islands
- LeetCode-200.Number of Islands
- LeetCode - 200. Number of Islands
- [leetcode] 200. Number of Islands
- [LeetCode] 200. Number of Islands
- 【LeetCode】200. Number of Islands
- LeetCode 200. Number of Islands
- java日常学习:集合(二)list和set接口
- Oracle用户和权限
- 记一次坑爹的事情
- 凌晨2点多,我的第一篇文章
- 小白成长日记(14)--(C语言)关于解决头插法单链表中问题二
- 【leetCode刷题日记】200. Number of Islands
- 自定义网络框架之下载
- Java简易扑克牌
- java线程安全之同步类容器与并发类容器(十二)
- 摩尔定律还有效吗?
- Signal ()函数详细介绍
- vue学习之路(一)--vue-cli安装+vue-router+vue-resource
- Unity开发微信登陆—利用ShareSDK微信登录
- git相关