当前位置: 首页 > news >正文

floodfill算法系列一>太平洋大西洋水流问题

目录

  • 题目方法解析:
  • 代码设计:
  • 代码呈现:

题目方法解析:

这里是引用

代码设计:

这里是引用

代码呈现:

class Solution {int m,n;int[] dx = {0,0,-1,1};int[] dy = {-1,1,0,0};public List<List<Integer>> pacificAtlantic(int[][] heights) {m = heights.length; n = heights[0].length;boolean[][] pac = new boolean[m][n];boolean[][] atl = new boolean[m][n];//判断大西洋的水能否流到某一位置for(int i = 0; i < n; i++) dfs(heights,0,i,pac);for(int j = 0; j < m; j++) dfs(heights,j,0,pac);//判断太平洋的水能否流到某一位置for(int i = 0; i < m; i++) dfs(heights,i,n-1,atl);for(int j = 0; j < n; j++) dfs(heights,m-1,j,atl);List<List<Integer>> ret = new ArrayList<>();for(int i = 0; i < m; i++)for(int j = 0; j < n; j++){if(pac[i][j] && atl[i][j]){List<Integer> tmp = new ArrayList<>();tmp.add(i); tmp.add(j);ret.add(tmp);}}return ret;}//封装出来一套标记遍历private void dfs(int[][] heights, int i, int j, boolean[][] vis){vis[i][j] = true;for(int k = 0; k < 4; k++){int x = i + dx[k]; int y = j + dy[k];if(x >= 0 && x < m && y >= 0 && y < n && !vis[x][y] && heights[x][y] >= heights[i][j]){dfs(heights,x,y,vis);}}}
}

相关文章:

floodfill算法系列一>太平洋大西洋水流问题

目录 题目方法解析&#xff1a;代码设计&#xff1a;代码呈现&#xff1a; 题目方法解析&#xff1a; 代码设计&#xff1a; 代码呈现&#xff1a; class Solution {int m,n;int[] dx {0,0,-1,1};int[] dy {-1,1,0,0};public List<List<Integer>> pacificAtlant…...

DeepSeek 助力 Vue 开发:打造丝滑的无限滚动(Infinite Scroll)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…...

JavaScript 内置对象-Math对象

在JavaScript中&#xff0c;Math 对象提供了一系列与数学相关的静态方法和属性&#xff0c;帮助开发者执行复杂的计算任务。无论是简单的算术运算还是高级的几何、统计计算&#xff0c;Math 对象都能提供强大的支持。本文将详细介绍 Math 对象的主要功能及其使用方法。 一、简…...

硕成C语言22【一些算法和数组的概念】

1.求水仙花数 #include <stdio.h>int main() {//求水仙花数&#xff1a;1.三位数 2.个位的立方十位的立方百位的立方该数int unit, tens, hundreds;for (int i 100; i < 1000; i)//i表示该水仙花数{unit i / 1 % 10;tens i / 10 % 10;hundreds i / 100 % 10;if (…...

Halcon相机标定

1&#xff0c;前言。 相机的成像过程实质上是坐标系的转换。首先空间中的点由“世界坐标系”转换到“相机坐标系”&#xff0c;然后再将其投影到成像平面&#xff08;图像物理坐标系&#xff09;&#xff0c;最后再将成像的平面上的数据转换为图像像素坐标系。但是由于透镜的制…...

部门管理(体验,最原始方法来做,Django+mysql)

本人初学&#xff0c;写完代码在此记录和复盘 在创建和注册完APP之后&#xff08;我的命名是employees&#xff09;&#xff0c;编写models.py文件创建表 手动插入了几条数据 1.部门查询 urls.py和views.py在编写之前&#xff0c;都要注意导入对应的库 urls.py&#xff1a;…...

clickhouse集群搭建

Clickhouse集群搭建 文章目录 Clickhouse集群搭建安装包下载clickhouse单机安装默认安装默认数据库目录更改默认数据目录 2分片-1副本-3节点集群搭建1. 配置hosts2. 修改每个主机的主机名3. 配置文件上传配置文件分布chnode1配置文件chnode2配置文件chnode3配置文件 4. 重启cli…...

250214-java类集框架

单列集合是list和set&#xff0c;list的实现类有ArrayList和LinkedList&#xff0c;前者是数组实现&#xff0c;后者是链表实现。list和set&#xff0c;前者有序、可重复&#xff0c;后者无序不可重复。 1.单列集合 1.1. list java.util.List接口继承自Collection接口&#…...

二叉树(C语言版)

文章目录 二叉树完全二叉树和满二叉树二叉搜索树基本操作实现代码运行结果 分析红黑树2-3-4树(理论模型)红黑树(实际实现) 二叉树 树是一种层次结构&#xff0c;它在现实生活中是广泛存在的&#xff0c;比如&#xff1a;族谱(family tree)&#xff0c;组织机构&#xff0c;目录…...

ASP.NET Core 面试宝典【刷题系列】

文章目录 引言1、什么是 dot net core 的 startup class?2、什么是中间件?3、application builder 的 use 和 run 方法有什么区别?4、dot net core 管道里面的map拓展有什么作用?5、dot net core 里面的路径是如何处理的?6、如何在 dot net core 中激活 session 功能?7、…...

案例-02.部门管理-查询

一.查询部门-需求 二.查询部门-思路 API接口文档 三.代码实现 1.controller层&#xff1a;负责与前端进行交互&#xff0c;接收前端所发来的请求 注&#xff1a;Slf4j用于记录日志使用&#xff0c;可以省略private static Logger log LoggerFactory.getLogger(DeptControlle…...

src和href区别

src和href区别 (1)请求资源类型不同(2)作用结果不同(3)解析方式不同 (1)请求资源类型不同 href 用来建立文档和元素之间的链接(是引用),常用的有a、linksrc 在请求src资源时候会将指向的资源下载并且应用到文档中(引入),常用的有script、iframe、image。 (2)作用结果不同 hr…...

Java每日精进·45天挑战·Day19

第一部分&#xff1a;移除数字以形成最小数的贪心算法实现 在编程的世界里&#xff0c;我们经常遇到需要对字符串表示的数字进行操作的问题。今天&#xff0c;我们要深入探讨一个具体的挑战&#xff1a;给定一个以字符串形式表示的非负整数 num 和一个整数 k&#xff0c;我们的…...

区块链的交易管理和共识机制

区块链的交易管理和共识机制是其核心功能&#xff0c;以下为你详细介绍它们的实现方式&#xff1a; 交易管理的实现 交易发起 • 用户使用钱包软件创建一笔交易&#xff0c;该交易包含发送方地址、接收方地址、转账金额等关键信息。同时&#xff0c;发送方会使用自己的私钥对…...

最新国内 ChatGPT Plus/Pro 获取教程

最后更新版本&#xff1a;20250202 教程介绍&#xff1a; 本文将详细介绍如何快速获取一张虚拟信用卡&#xff0c;并通过该卡来获取ChatGPT Plus和ChatGPT Pro。 # 教程全程约15分钟开通ChatGPT Plus会员帐号前准备工作 一个尚未升级的ChatGPT帐号&#xff01;一张虚拟信用卡…...

Apollo 9.0 速度动态规划决策算法 – path time heuristic optimizer

文章目录 1. 动态规划2. 采样3. 代价函数3.1 障碍物代价3.2 距离终点代价3.3 速度代价3.4 加速度代价3.5 jerk代价 4. 回溯 这一章将来讲解速度决策算法&#xff0c;也就是SPEED_HEURISTIC_OPTIMIZER task里面的内容。Apollo 9.0使用动态规划算法进行速度决策&#xff0c;从类名…...

Apache Iceberg 与 Apache Hudi:数据湖领域的双雄对决

在数据存储和处理不断发展的领域中&#xff0c;数据湖仓的概念已经崭露头角&#xff0c;成为了一种变革性的力量。数据湖仓结合了数据仓库和数据湖的最佳元素&#xff0c;提供了一个统一的平台&#xff0c;支持数据科学、商业智能、人工智能/机器学习以及临时报告等多种关键功能…...

【LeetCode Hot100 普通数组】最大子数组和、合并区间、旋转数组、除自身以外数组的乘积、缺失的第一个正整数

普通数组 1. 最大子数组和&#xff08;Maximum Subarray&#xff09;解题思路动态规划的优化解法&#xff08;Kadane 算法&#xff09;核心思想 代码解析 2. 合并区间&#xff08;Merge Intervals&#xff09;解题思路代码实现 3. 旋转数组&#xff08;Rotate Array&#xff09…...

共享存储-一步一步部署ceph分布式文件系统

一、Ceph 简介 Ceph 是一个开源的分布式文件系统。因为它还支持块存储、对象存储&#xff0c;所以很自 然的被用做云计算框架 openstack 或 cloudstack 整个存储后端。当然也可以单独作 为存储&#xff0c;例如部署一套集群作为对象存储、SAN 存储、NAS 存储等。 二、ceph 支…...

19.Python实战:实现对博客文章的点赞系统

Flask博客点赞系统 一个基于Flask的简单博客系统&#xff0c;具有文章展示和点赞功能。系统使用MySQL存储数据&#xff0c;支持文章展示、点赞/取消点赞等功能。 功能特点 文章列表展示文章详情查看&#xff08;模态框展示&#xff09;点赞/取消点赞功能&#xff08;每个IP只…...

锁相环(PLL)核心原理、设计调试与应用场景全解析

1. 从“锁相”到“锁频”&#xff1a;一个经典电路的深度拆解如果你在通信、数字电路或者射频领域摸爬滚打过几年&#xff0c;那么“锁相环”这三个字对你来说&#xff0c;绝对不是一个陌生的概念。它就像电路世界里的瑞士军刀&#xff0c;从你手机里的射频收发器&#xff0c;到…...

2026届学术党必备的十大AI辅助论文神器实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 现有许多AI论文网站&#xff0c;它们在当前学术环境里&#xff0c;对于研究人员而言&#x…...

ChatRWKV:基于RNN架构的大语言模型部署与调优实战

1. 项目概述&#xff1a;一个“非Transformer”的大语言模型新选择如果你最近在关注大语言模型的开源生态&#xff0c;除了Llama、Mistral这些基于Transformer架构的明星项目&#xff0c;可能还听说过一个名字有点特别的仓库&#xff1a;ChatRWKV。它的全称是“Chat with RWKV”…...

为什么你背了这么多年单词,英语还是没进步?

很多人学英语都有一个共同的问题&#xff1a;单词背了又忘&#xff0c;忘了又背。早上记住&#xff0c;晚上忘掉。 背了几千个单词&#xff0c;看到英文文章还是读不懂。 甚至有时候一个单词明明“眼熟”&#xff0c;但就是想不起来什么意思。 其实&#xff0c;大多数人不是不努…...

内容运营如何利用 Taotoken API 批量生成文章标题与大纲

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 内容运营如何利用 Taotoken API 批量生成文章标题与大纲 对于内容运营和新媒体编辑而言&#xff0c;持续产出高质量的文章标题与大…...

使用技巧(四):还在手写Hooks脚本?五个现成插件装好就生效,拦截删文件、护密钥、强制测试

别再手动格式化&#xff01;Claude Code 五个 Hooks 插件装好就生效&#xff0c;拦截删文件、护密钥、强制测试 Windows/macOS/Linux Claude Code 2.x 2026-05-08 一、Claude 又没跑测试就提交了&#xff1f; 你有没有遇到过这些场景&#xff1a; Claude 写完代码&#xff…...

28V直流电源直线通电飞机起动概述

一、工作原理概述该电源采用“‌三相AC-DC-DC‌”三级变换架构&#xff0c;实现高效率、高稳定性的电能转换&#xff1a;‌输入整流与PFC校正‌ 输入‌三相AC380V10%‌ 交流电经EMI滤波后&#xff0c;进入‌PFC&#xff08;功率因数校正&#xff09;整流模块‌&#xff0c;转换…...

TMC2226的UART单线通信到底怎么玩?一个案例讲透从接线、寻址到StallGuard4调参

TMC2226单线UART通信实战&#xff1a;从菊花链拓扑到StallGuard4精准调参 在小型自动化设备开发中&#xff0c;如何用一根信号线同时控制四台步进电机并实现无传感器堵转检测&#xff1f;这正是TMC2226/TMC2209单线UART接口的独特价值。相比传统脉冲方向控制方案&#xff0c;这…...

FPGA流水线FFT IP核生成器:dblclockfft配置与实战指南

1. 项目概述&#xff1a;一个高度可配置的流水线FFT IP核生成器最近在折腾一个FPGA上的信号处理项目&#xff0c;需要用到快速傅里叶变换&#xff08;FFT&#xff09;这个核心算法。大家都知道&#xff0c;FFT是数字信号处理的基石&#xff0c;从音频处理到通信解调&#xff0c…...

STM32CubeMX + FreeRTOS 实战:从零到一,手把手教你为STM32F103C8T6搭建一个带LED、按键和串口打印的多任务系统

STM32CubeMX FreeRTOS 实战&#xff1a;构建智能设备控制台的多任务系统 1. 项目概述与硬件准备 想象一下&#xff0c;你正在开发一个智能家居控制器的原型系统。这个系统需要同时处理多个任务&#xff1a;实时监测用户按键输入、控制LED状态指示、通过串口与上位机通信。这正…...