417 Pacific Atlantic Water Flow 太平洋大西洋水流
2024-09-02 23:04:34
详见:https://leetcode.com/problems/pacific-atlantic-water-flow/description/
C++:
class Solution {
public:
vector<pair<int, int>> pacificAtlantic(vector<vector<int>>& matrix) {
if (matrix.empty() || matrix[0].empty())
{
return {};
}
vector<pair<int, int>> res;
int m = matrix.size(), n = matrix[0].size();
vector<vector<bool>> pacific(m, vector<bool>(n, false));
vector<vector<bool>> atlantic(m, vector<bool>(n, false));
for (int i = 0; i < m; ++i)
{
dfs(matrix, pacific, INT_MIN, i, 0);
dfs(matrix, atlantic, INT_MIN, i, n - 1);
}
for (int i = 0; i < n; ++i)
{
dfs(matrix, pacific, INT_MIN, 0, i);
dfs(matrix, atlantic, INT_MIN, m - 1, i);
}
for (int i = 0; i < m; ++i)
{
for (int j = 0; j < n; ++j)
{
if (pacific[i][j] && atlantic[i][j])
{
res.push_back({i, j});
}
}
}
return res;
}
void dfs(vector<vector<int>>& matrix, vector<vector<bool>>& visited, int pre, int i, int j)
{
int m = matrix.size(), n = matrix[0].size();
if (i < 0 || i >= m || j < 0 || j >= n || visited[i][j] || matrix[i][j] < pre)
{
return;
}
visited[i][j] = true;
dfs(matrix, visited, matrix[i][j], i + 1, j);
dfs(matrix, visited, matrix[i][j], i - 1, j);
dfs(matrix, visited, matrix[i][j], i, j + 1);
dfs(matrix, visited, matrix[i][j], i, j - 1);
}
};
参考:https://www.cnblogs.com/grandyang/p/5962508.html
最新文章
- ";无法删除数据库,因为该数据库当前正在使用";问题解决
- Mysql使用workbench迁移数据
- NFS挂载Android文件系统
- Character Controller (角色控制器) 中 Move()和SimpleMove() 的区别
- CentOS6.4_x86_开关机查看
- <;button>;会自动提交表单吗?
- Servlet中Service方法
- OC1_协议语句
- 2 weekend110的mapreduce介绍及wordcount + wordcount的编写和提交集群运行 + mr程序的本地运行模式
- BZOJ3039: 玉蟾宫&;wikioi2491 玉蟾宫
- 用if做了一个简单的猜拳游戏(做的不好还请指点,谢谢!)
- Android的布局优化之include、merge 、viewstub
- 第2次增加ssh 主机信任脚本
- Web API-路由(一)
- validation-api各注解的用法
- day12:装饰器的进阶
- 281A
- spring-boot-starter-actuator
- shell 命令 if [ -d filename] 判断文件
- JAVA中域、方法、类的可见性
热门文章
- Git撤销&;amp;回滚操作
- Cocos2d-X-3.0 之后的版本的环境搭建
- wampserver64安装时出现计算机缺少MCVR110.DLL无法安装等
- JDBC各种数据库连接URL关键代码
- wpa_supplicant介绍【转】
- UVALive3989 Ladies&#39; Choice —— 稳定婚姻问题 Gale - Shapely算法
- HDU2819 Swap —— 二分图最大匹配
- YTU 1099: Minesweeper
- HTTP传输二进制初探
- codeforces 688A A. Opponents(水题)