number of islands
来源:互联网 发布:电视台曝光网络黄金egd 编辑:程序博客网 时间:2024/05/18 02:32
//============================================================================// Name : reversestring.cpp// Author : qxyu// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//============================================================================#include <iostream>#include<vector>#include<algorithm>#include<cmath>#include<queue>#include<map>#include<stack>#include<string>#include<unordered_map>#include<memory>//#include<uint32_t>using namespace std; int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; class Solution { public:void dfs(int x, int y, vector<vector<char>>& grid,vector<vector<bool>>& vis){int colu=grid[0].size()-1;int row=grid.size()-1;vis[x][y]=true;for(int k = 0; k < 4; k ++){int new_x=x+dir[k][0];int new_y=y+dir[k][1];if(new_x<0||new_x>row||new_y<0||new_y>colu) continue;if(grid[new_x][new_y]=='0') continue;if(vis[new_x][new_y]==true) continue;dfs(new_x,new_y,grid,vis);}} int numIslands(vector<vector<char>>& grid) { int cnt=0; int row=grid.size(); int colu=grid[0].size(); if(row==0) return 0; vector<vector<bool> >vis (row,vector <bool>(colu,false)); for(int i = 0; i <grid.size(); i ++){ for(int j = 0; j < grid[i].size(); j ++){ if(grid[i][j]=='0') continue; if(vis[i][j]) continue; dfs(i,j,grid,vis); cnt++; } } return cnt; } };int main(){vector<vector<char>> ma;vector<char> m;m.push_back('1');m.push_back('1');m.push_back('1');m.push_back('1');m.push_back('0');ma.push_back(m);m.clear();m.push_back('1');m.push_back('1');m.push_back('0');m.push_back('1');m.push_back('0');ma.push_back(m);m.clear();m.push_back('1');m.push_back('1');m.push_back('0');m.push_back('0');m.push_back('0');ma.push_back(m);m.clear();m.push_back('0');m.push_back('0');m.push_back('0');m.push_back('0');m.push_back('0');ma.push_back(m);m.clear();Solution sol;ma.clear();cout<<sol.numIslands(ma); return 0;}
0 0
- Number of Islands
- Number of Islands
- Number of Islands
- [LeetCode] Number of Islands
- Leetcode-Number of Islands
- Number of Islands
- Leetcode Number of Islands
- [LeetCode]Number of Islands
- Number of Islands
- Number of Islands
- [leetcode]Number of Islands
- [leetcode] Number of Islands
- leetcode Number of Islands
- leetcode:Number of Islands
- [leetcode] Number of Islands
- 200 Number of Islands
- [LeetCode] Number of Islands
- Number of Islands
- CodeForces 669B Little Artem and Grasshopper(可怜的小蚂蚱,等待AC)
- rsyslog ~ 波浪号
- 从ffmpeg的AVFrame得到iOS的CVPixelBuffer
- 两个栈实现一个队列的功能
- 【51Nod】1050 - 循环数组最大子段和(dp)
- number of islands
- spark读取本地文件
- JAVA 中的IO操作
- Atitit .linux 取回root 密码q99
- eclipse 里设置 android sdk manager proxy settings
- 【持续更新】android易错知识点、相见恨晚的知识点整理
- 小知识
- Spring Cloud(Netflix) Feign: 以Dubbo暴露服务的方式使用Feign
- Android:Bluetooth 的打开和关闭