LeetCode 417. Pacific Atlantic Water Flow

本博客介绍了LeetCode 417题的解题思路,通过从边界开始的DFS染色策略来解决水流方向问题。文章强调了明确“连通区域”定义和DFS染色在枚举可能性问题中的重要性,并提供了相关经验教训和代码实现。
摘要由CSDN通过智能技术生成

问题描述

这里写图片描述

问题分析

  • 该题一看便知是枚举所有可能性的题目,但一开始的思路是从每一个点进行dfs,这样的想法是实在是太死脑筋了。应该换个方向!!!
  • 该题思路有点类似 LeetCode 130. Surrounded Regions , 从每条边界开始进行 DFS, 对连通区域进行染色,但该题的“连通区域”定义为下一个进行dfs的位置大于等于上一位置的数才可以。因为这样水才能从该位置流向海洋。
  • 而且,一个位置若想流向太平洋,那么从上边界或者左边界dfs一定能遍历到该点,若想流向大西洋,那么从下边界和右边界进行dfs也一定能遍历到该点。所以,需要设置两个数组 ,和原二维数组同样大小, Pacific[i][j] = true 说明该点能流向太平洋, 从上边界和左边界的每一个点根据“连通区域”的约定,进行dfs, 便能填好这个表(染色)Atlantic[i][j] =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值