LeetCode(200)Number of Islands
来源:互联网 发布:百度音乐人的域名 编辑:程序博客网 时间:2024/06/06 14:53
BFS广度优先搜索
class Solution {public: void bfs(vector<vector<char>>& grid, int i, int j, int length, int width) { queue<pair<int, int>> que; grid[i][j] = '#'; que.push(make_pair(i, j)); while(!que.empty()) { int row = que.front().first; int column = que.front().second; if(row - 1 >= 0 && grid[row - 1][column] == '1') { grid[row - 1][column] = '#'; que.push(make_pair(row - 1, column)); } if(row + 1 < length && grid[row + 1][column] == '1') { grid[row + 1][column] = '#'; que.push(make_pair(row + 1, column)); } if(column - 1 >= 0 && grid[row][column - 1] == '1') { grid[row][column - 1] = '#'; que.push(make_pair(row, column - 1)); } if(column + 1 < width && grid[row][column + 1] == '1') { grid[row][column + 1] = '#'; que.push(make_pair(row, column + 1)); } que.pop(); } } int numIslands(vector<vector<char>>& grid) { if(grid.size() == 0) return 0; int length = grid.size(); int width = grid[0].size(); int counter = 0; for(int i = 0; i < length; i++) { for(int j = 0; j < width; j++) { if(grid[i][j] == '1') { counter++; bfs(grid, i, j, length, width); } } } return counter; }};
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
- LeetCode 200 Number of Islands
- LeetCode 200 Number of Islands
- leetcode: Number of Islands(200)
- 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] Number of Islands
- Leetcode-Number of Islands
- ConcurrentHashmap使用注意事项
- jsp和Servlet的区别以及什么时候创建Servlet或者class文件
- Java中接口里定义的成员变量
- 加密规则
- matlab如何绘制统计分析图(正态分布,柱形图,散点图)和matlab cftool拟合工具
- LeetCode(200)Number of Islands
- hdu 2896 病毒侵袭
- Java多态:重载和重写
- Spring AOP
- 使用BusyBox构建根文件系统
- Android精准的获取底部虚拟键盘的高度
- linux通用makefile模板
- C语言实现将数字颠倒
- C++ Primer快速入门之七:运算符