回溯法:
方法:从太平洋和大西洋分别往中间进行搜索(下一个节点的满足条件是比该节点的值大),使用两个数组分别记录每一个点是否可以流向的大西洋和是否可以流向太平洋,最后在对两个数组进行遍历,找到既能够去大西洋也能去太平洋的点。

class Solution {
public:vector<vector<int>> pacificAtlantic(vector<vector<int>>& matrix) {m=matrix.size();if(m==0)return res;n=matrix[0].size();vector<vector<bool>> daxi(m,vector<bool>(n,false));vector<vector<bool>> taipin(m,vector<bool>(n,false));for(int i=0;i<m;i++){for(int j=0;j<n;j++){if((i==0||j==0)&&taipin[i][j]==false){taipin[i][j]=true;DFS(matrix,i,j,taipin);}if((i==m-1||j==n-1)&&daxi[i][j]==false){daxi[i][j]=true;DFS(matrix,i,j,daxi);}}}for(int i=0;i<m;i++){for(int j=0;j<n;j++){if(daxi[i][j]==true&&taipin[i][j]==true){vector<int> tmp={i,j};res.push_back(tmp);}  }}return res;}int m;int n;vector<vector<int>> res;bool inArea(int x,int y){return x>=0&&x<m&&y>=0&&y<n;}int area[4][2]={{0,1},{1,0},{0,-1},{-1,0}};void DFS(vector<vector<int>>& nums,int x,int y,vector<vector<bool>>& memo){for(int i=0;i<4;i++){int newx=x+area[i][0];int newy=y+area[i][1];if(inArea(newx,newy)&&memo[newx][newy]==false&&nums[newx][newy]>=nums[x][y]){memo[newx][newy]=true;DFS(nums,newx,newy,memo);}}}
};

[leetcode417]. 太平洋大西洋水流问题相关推荐

  1. leetcode417. 太平洋大西洋水流问题(bfs)

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

  2. leetcode417 太平洋大西洋水流问题

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

  3. 利用DFS解决太平洋大西洋水流问题

    二十五.太平洋大西洋水流问题 25.1.题设要求   有一个 m × n 的矩形岛屿,与 太平洋 和 大西洋 相邻. "太平洋" 处于大陆的左边界和上边界,而 "大西洋& ...

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

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

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

    力扣417题太平洋大西洋水流问题 题目描述:有一个 m × n 的矩形岛屿,与 太平洋 和 大西洋 相邻. "太平洋" 处于大陆的左边界和上边界,而 "大西洋" ...

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

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

  7. Leetcode 417 题 太平洋大西洋水流问题

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

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

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

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

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

最新文章

  1. 深入理解YouTube推荐系统算法!
  2. 查看ngnix使用的php.ini位置_修改Nginx php.ini文件的经典教程
  3. tmux centos 6.3
  4. Linux操作系统下如何编译安装源码包软件
  5. UBOOT手动设置环境变量
  6. matlab 不同长度的向量放入一个矩阵,Matlab:将不同长度的行叠加到矩阵上
  7. 4-12DataSet Transformations
  8. Linux驱动(13)--传递参数
  9. 关于SWT中的表格(TableViewer类)
  10. .Net语言 APP开发平台——Smobiler学习日志:用Gridview控件设计较复杂的表单
  11. Machine Learning ——Homework 8
  12. php正则判断括号中的,PHP实现正则匹配所有括号中的内容
  13. 大学生圣诞网页设计制作成品 圣诞节静态HTML网页作业作品 简单DIV CSS布局网站
  14. 真正的手机密码大全!(整理完整版)
  15. 2022年信息安全工程师考试知识点:信息安全管理基础
  16. 外星人台式机无盘服务器,外星人电脑Aurora R6/Aurora R7无盘无法正常引导解决方案...
  17. uniapp小程序发布经验
  18. 【RMAN】数据库备份之冷备份
  19. 普利姆算法解决最短修路问题
  20. tensorflow安装2022/3/12

热门文章

  1. MyDLNote-360camera: ECCV 2020 结合室内全景图像的三维布局和深度预测
  2. JS中预处理是一种好无节操的机制
  3. 附彩蛋|Spring Security 竟然故意延长登录时间?知道真相的我惊呆了!
  4. 《癌症·真相》读书简摘
  5. tp3.2使用QQ邮箱或163邮箱通过PHPMailer发送邮件
  6. 免费的内网穿透(钉钉)
  7. ESP8266+Flash基本操作
  8. 群聊太多?三步教你用 Python 自动监听转发群消息!
  9. 自旋锁、乐观锁、悲观锁、重入锁、公平锁
  10. 7天酒店蝉联“年度杰出投资价值酒店品牌” 加速下沉市场拓展