/*** @param {number[][]} heights* @return {number[][]}*/
var pacificAtlantic = function(heights) {if(!heights||!heights[0]){return []}// 这道题让咱从高点往低点流 咱们可以逆向思维让大西洋和太平洋的水逆向流动到高点var r = heights.lengthvar c = heights[0].length// flow1存太平洋可以逆向流动的所有点 flow1存大西洋可以逆向流动的所有点const flow1 = Array.from({ length: r }, () => new Array(c).fill(false));const flow2 = Array.from({ length: r }, () => new Array(c).fill(false));// 运用图的深度优先遍历来遍历从大西洋和太平洋中可以逆向流动(从小到大)的点function dfs(m,n,flow){flow[m][n] = truelet arr = [[m-1,n],[m+1,n],[m,n-1],[m,n+1]]arr.forEach(([m1,n1])=>{if(// m1 n1在矩阵内m1>=0 && m1<r &&n1>=0 && n1<c &&// 这个点要比上一个点高heights[m1][n1] >= heights[m][n] &&// 防止死循环!flow[m1][n1]){dfs(m1,n1,flow)}})}// 对太平洋和大西洋海岸线的所有点进行dfsfor(let i =0;i < r;i++){dfs(i,0,flow1)dfs(i,c-1,flow2)}for(let i =0;i<c;i++){dfs(0,i,flow1)dfs(r-1,i,flow2)}var res = []for(let i =0;i<r;i++){for(let j =0;j<c;j++){if(flow1[i][j]&&flow2[i][j]){res.push([i,j])}}}return res};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. Delphi 使用双缓冲解决图片切换时的闪烁问题 good
  2. 英伟达账号登录邮箱验证收不到_【硬核教学】解决登录230锁定
  3. 【动态规划】农田个数 (ssl 1633)
  4. 浏览器DNS_PROBE_FINISHED_NXDOMAIN报错解决办法
  5. 41.进程池--Pool
  6. 【shell基础】10、函数
  7. python数据收集整理教案_《数据收集整理(例1)》教案
  8. python删除首行_Python删除文件第一行
  9. 在linux系统下安装oracle前的准备工作(配置oracle环境变量)
  10. 吉林大学线性代数知识点及解题方法
  11. 电商系统如何搭建会员体系/会员制玩法?
  12. OSChina 周二乱弹 —— 掏心掏肺又掏钱,最终娶了个潘金莲
  13. 深度学习中需要的矩阵计算
  14. html语义化标签是什么,HTML语义化标签探析
  15. 远程开机并不难 用开机棒轻松打开局域网多台电脑
  16. 一个计算机入门者的故事
  17. Pod 一直停留在 Terminating 状态,我等得花儿都谢了~
  18. layui 表格加载动画_移动UI设计中动画的3个主要用途
  19. vmware 连接云服务器协议,vmware怎么连接云服务器
  20. 数值分析试题解析p172页 1/h[u(xi+1,tk)-u(xi-1,tk)]对应的截断误差是否答案给错了,应该是h^2/3而不是h^2/6

热门文章

  1. 免费网络营销与推广的几种方法
  2. .net 多线程之线程取消
  3. 3G无线上网分析、优惠以及推荐选择
  4. 团购网站的销售额是怎么来的?
  5. 致我们终将逝去的青春
  6. 学员感言html效果图,学员感言
  7. 滴滴java开发面试题_滴滴出行(小桔科技)亲身面试经验分享,java开发岗
  8. 小程序 unicode_程序员工具集锦
  9. 基于计算机视觉的食物新鲜度分级检测
  10. 人工智能神经网络之父,神经网络是谁提出来的