专题五:floodfill算法(太平洋大西洋水流问题)

以leetcode417题为例

题目解析:

整张图,左边深蓝的是太平洋,右边浅蓝的是大西洋,你需要在矩阵中找到一个点,使其可以流向太平洋又可以流向大西洋,并且你每次流的时候只能由高到低,或者相等到相等

算法原理解析:

第一种解法:暴力枚举每一个点是否能流向太平洋和大西洋,也就是一行一行的枚举每一个点

但可能会有重复的路径的枚举,而且会不断的dfs,可能会超时

第二种解法:正难则反,看太平洋的水能由哪留到,也就是枚举从低到高的点,就是水能蔓延的哪

比如从太平洋每一个最上一行和最左一列的每一个点可以蔓延到哪,所有绿色框起来的都可以

在枚举最下面一行和右边一列的所有点能蔓延到哪,

所有重复的点就是可以到太平洋和大西洋 (红色三角可以流向大西洋和绿色方块流向太平洋)

代码编写:

相关推荐
山登绝顶我为峰 3(^v^)34 分钟前
如何录制带备注的演示文稿(LaTex Beamer + Pympress)
c++·线性代数·算法·计算机·密码学·音视频·latex
Two_brushes.1 小时前
【算法】宽度优先遍历BFS
算法·leetcode·哈希算法·宽度优先
十五年专注C++开发3 小时前
CMake基础:条件判断详解
c++·跨平台·cmake·自动化编译
森焱森3 小时前
水下航行器外形分类详解
c语言·单片机·算法·架构·无人机
QuantumStack5 小时前
【C++ 真题】P1104 生日
开发语言·c++·算法
天若有情6735 小时前
01_软件卓越之道:功能性与需求满足
c++·软件工程·软件
whoarethenext5 小时前
使用 C++/OpenCV 和 MFCC 构建双重认证智能门禁系统
开发语言·c++·opencv·mfcc
写个博客6 小时前
暑假算法日记第一天
算法
绿皮的猪猪侠6 小时前
算法笔记上机训练实战指南刷题
笔记·算法·pta·上机·浙大
hie988946 小时前
MATLAB锂离子电池伪二维(P2D)模型实现
人工智能·算法·matlab