1. 题目描述
给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度。“太平洋”处于大陆的左
边界和上边界,而“大西洋”处于大陆的右边界和下边界。规定水流只能按照上、下、左、右四个方向流动,且只能从高到低或者在同等高度上流动。请找出那些水流既可以流动到“太平洋”,又能流动到“大西洋”的陆地单元的坐标。
  1. 题解
深度优先搜索,可以反过来进行思考,从大洋向内地流。
  1. 代码
class Solution {
public:void dfs(vector<vector<int>>& matrix,int x,int y,int m,int n,vector<vector<bool>>& f){f[x][y]=true;for (int k=0;k<4;k++){int xx=x+d[k][0];int yy=y+d[k][1];if (xx<0||yy<0||xx>=m||yy>=n) continue;if (!f[xx][yy]&&matrix[xx][yy]>=matrix[x][y]){dfs(matrix,xx,yy,m,n,f);}}}vector<vector<int>> pacificAtlantic(vector<vector<int>>& matrix) {int m=matrix.size();if (!m) return {};int n=matrix[0].size();vector<vector<bool>> f1(m,vector<bool>(n,false));vector<vector<bool>> f2(m,vector<bool>(n,false));for (int i=0;i<m;i++){dfs(matrix,i,0,m,n,f1);dfs(matrix,i,n-1,m,n,f2);}for (int j=0;j<n;j++){dfs(matrix,0,j,m,n,f1);dfs(matrix,m-1,j,m,n,f2);}vector<vector<int>> res;for (int i=0;i<m;i++){for (int j=0;j<n;j++){if (f1[i][j]&&f2[i][j]) res.push_back({i,j});}}return res;}int d[4][2]={0,1,0,-1,1,0,-1,0};
};

LeetCode 417 太平洋大西洋水流问题相关推荐

  1. LeetCode 417.太平洋大西洋水流问题

    LeetCode 417.太平洋大西洋水流问题 有一个 m × n 的长方形岛屿,与 太平洋 和 大西洋 相邻. "太平洋" 处于大陆的左边界和上边界,而 "大西洋&qu ...

  2. Java实现 LeetCode 417 太平洋大西洋水流问题

    417. 太平洋大西洋水流问题 给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度."太平洋"处于大陆的左边界和上边界,而"大西洋"处于大陆的 ...

  3. LeetCode 417. 太平洋大西洋水流问题--BFS

    太平洋大西洋水流问题 给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度."太平洋"处于大陆的左边界和上边界,而"大西洋"处于大陆的右边界和下 ...

  4. LeetCode 417. 太平洋大西洋水流问题(BFS/DFS)

    文章目录 1. 题目 2. 解题 2.1 BFS 广度优先搜索 2.2 DFS 深度优先搜索 1. 题目 给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度. "太平洋&q ...

  5. LeetCode 417. 太平洋大西洋水流问题 JAVA dfs

    给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度."太平洋"处于大陆的左边界和上边界,而"大西洋"处于大陆的右边界和下边界. 规定水流只能按 ...

  6. LeetCode 417. 太平洋大西洋水流问题【dfs】

    题目描述 给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度."太平洋"处于大陆的左边界和上边界,而"大西洋"处于大陆的右边界和下边界. 规定 ...

  7. 417. 太平洋大西洋水流问题(medium) -力扣(leetCode)逆流而上,JS图的深度优先遍历算法

    ⚡️417. 太平洋大西洋水流问题⚡️ 给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度."太平洋"处于大陆的左边界和上边界,而"大西洋"处 ...

  8. 力扣417 太平洋大西洋水流问题

    417. 太平洋大西洋水流问题 - 力扣(LeetCode) 核心: 建立两个和给定矩阵宽高一致的矩阵,分别表示太平洋和大西洋 从边界出发,深度优先遍历矩阵,继续递归前进行条件的限制:结点没有超出界限 ...

  9. 417. 太平洋大西洋水流问题(DFS)

    417. 太平洋大西洋水流问题 题目 解题思路 代码 题目 给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度."太平洋"处于大陆的左边界和上边界,而" ...

最新文章

  1. html5指南针源码,《绝秘奉献》——最新超短线指南针!源码已放!(贴图 原码)...
  2. UVa 10820 (打表、欧拉函数) Send a Table
  3. 【模型解读】resnet中的残差连接,你确定真的看懂了?
  4. python 继承的规则
  5. Windows安装mysql8.0
  6. 【Flink】Flink CEP 案例
  7. 最小化或关闭时隐藏到系统托盘
  8. PXE+kickstart 无人值守安装CentOS 6
  9. 30+简约和平铺的WordPress复古主题
  10. 滴滴开源基于金融场景的Vuejs组件库Mand Mobile
  11. WIN10打开网络共享文件夹提示0x80004005怎么解决?(转载)
  12. 怎么配置计算机终端网络ip地址,如何配置计算机的IP地址并测试联网
  13. 陪审团问题_Oraclevs谷歌–陪审团僵局? 部分裁决? str?
  14. 算法题:10级台阶,一次一步或两步,打印所有的走法
  15. 凉了7年的快播,登上排行榜第一 (重新排版)
  16. 要matlab标定数据做双目相机矫正OpenCV C++
  17. MATLAB学习笔记:非齐次线性方程组的求解
  18. 三分之一的程序猿之重新定义“创业”!
  19. 远程连接linux系统提示“远程系统拒绝连接“
  20. 2018-11-22 python学习第七天

热门文章

  1. 如何批量在文件夹中建立php,怎么批量创建文件夹_一次性创建多个文件夹方法_一聚教程网...
  2. 苹果网页归档转html,常用JS转换HTML转义符
  3. 他靠一生仅有的三篇论文改变了摩尔根,后来却从生物学界销声匿迹了
  4. fcpx插件:Cinematic Tracking Title for Mac电影字幕标题动画
  5. 计算机系统操作工五级证件,计算机系统操作工国家职业标准.doc
  6. NOI图论算法:二分图匹配
  7. 线性代数、概率 入门书籍推荐
  8. js加载音频文件并播放,代码实例
  9. Keil | 使用Register Windows测量函数的执行时间
  10. css隐藏输入框的光标