LeetCode 200. Number of Islands
来源:互联网 发布:手机淘宝官方网站注册 编辑:程序博客网 时间:2024/06/05 17:58
描述
给出一个矩阵,找独立的块有多少
解决
bfs遍历
class Solution {public: int numIslands(vector<vector<char>>& grid) { int dir[4][2] = {{1,0}, {0, 1}, {-1, 0}, {0, -1}}; queue<pair<int, int>> que; int r = grid.size(); int l = r ? grid[0].size() : 0; int cnt = 0; for (int i = 0; i < r; ++i) { for (int j = 0; j < l; ++j) { if (grid[i][j] == '0') continue; else if (grid[i][j] == '1') { que.push(make_pair(i, j)); grid[i][j] = '0'; ++cnt; cout << "hre\n"; while (!que.empty()) { pair<int, int> t = que.front(); que.pop(); for (int k = 0; k < 4; ++k) { int t_x = t.first + dir[k][0]; int t_y = t.second + dir[k][1]; if (t_x >= 0 && t_x < r && t_y < l && t_y >= 0 && grid[t_x][t_y] == '1') { grid[t_x][t_y] = '0'; que.push(make_pair(t_x, t_y)); } } } } } } return cnt; }};
pair<int, int> t = que.front();//若在这里写,超时了= =grid[t.first][t.second] = '0';//que.pop()
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
- 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
- [LeetCode]200. Number of Islands
- mysql 修复损坏表格方法
- leetcode_423. Reconstruct Original Digits from English ASCII码转换成字符,无序的英文字符对应的数字
- 主成份分析(PCA)详解
- JVM调优总结:一些概念 (1)
- Android UsageStatsService:要点解析
- LeetCode 200. Number of Islands
- Java JDK 开发环境的配置
- Scikit-Learn 随机森林分类器的使用
- Nexus私服使用笔记:
- DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)
- kettle环境配置
- linux下安装 tomcat环境并配置
- JavaScript - JSON
- Extjs mydate97时间选择控件的使用