力扣-图论-14【算法学习day.64】

ops/2024/12/20 19:45:53/

前言

###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

tips:板子题就不分析了

1.网格图中鱼的最大数目

题目链接:2658. 网格图中鱼的最大数目 - 力扣(LeetCode)

题面:

代码:

java">class Solution {int[][] grid;int n,m;int flag[][];int flag2;int ans = 0;public int findMaxFish(int[][] grid) {this.grid = grid;n = grid.length;m = grid[0].length;flag = new int[n][m];for(int i = 0;i<n;i++){for(int j = 0;j<m;j++){if(grid[i][j]>0&&flag[i][j]==0){flag2 = 0;recursion(i,j);ans = Math.max(ans,flag2);}}}return ans;}public void recursion(int x,int y){flag[x][y] = 1;flag2+=grid[x][y];if(x+1<n&&grid[x+1][y]>0&&flag[x+1][y]==0){recursion(x+1,y);}if(y+1<m&&grid[x][y+1]>0&&flag[x][y+1]==0){recursion(x,y+1);}if(x-1>=0&&grid[x-1][y]>0&&flag[x-1][y]==0){recursion(x-1,y);}if(y-1>=0&&grid[x][y-1]>0&&flag[x][y-1]==0){recursion(x,y-1);}}
}

2.边界着色

题目链接:1034. 边界着色 - 力扣(LeetCode)

题面:

代码:

java">class Solution {int[][] grid;int color;int n,m;int[][] flag;public int[][] colorBorder(int[][] grid, int row, int col, int color) {this.grid = grid;this.color = color;n = grid.length;m = grid[0].length;flag = new int[n][m];recursion(row,col);return grid;}public void recursion(int x,int y){flag[x][y] = 1;int flag2 = 0;if(x+1<n){if(grid[x+1][y]==grid[x][y]&&flag[x+1][y]==0){recursion(x+1,y);}if(grid[x+1][y]!=grid[x][y]&&flag[x+1][y]==0){flag2 =1;}}if(x-1>=0){if(grid[x-1][y]==grid[x][y]&&flag[x-1][y]==0){recursion(x-1,y);}if(grid[x-1][y]!=grid[x][y]&&flag[x-1][y]==0){flag2 =1;}}if(y-1>=0){if(grid[x][y-1]==grid[x][y]&&flag[x][y-1]==0){recursion(x,y-1);}if(grid[x][y-1]!=grid[x][y]&&flag[x][y-1]==0){flag2 =1;}}if(y+1<m){if(grid[x][y+1]==grid[x][y]&&flag[x][y+1]==0){recursion(x,y+1);}if(grid[x][y+1]!=grid[x][y]&&flag[x][y+1]==0){flag2 =1;}}// System.out.println(x+"       "+y+"       "+flag2);if(flag2==1||x==n-1||x==0||y==m-1||y==0){grid[x][y] =color;}}
}

后言

上面是力扣图论专题,下一篇是其他的习题,希望有所帮助,一同进步,共勉!


http://www.ppmy.cn/ops/143562.html

相关文章

The Rise and Potential of Large Language ModelBased Agents:A Survey---讨论

讨论 论法学硕士研究与Agent研究的互利性 近年来&#xff0c;随着激光诱导金属化技术的发展&#xff0c;激光诱导金属化与化学剂交叉领域的研究取得了长足的进步&#xff0c;促进了这两个领域的发展。在此&#xff0c;我们期待着LLM研究和Agent研究相互提供的一些益处和发展机…

D98【python 接口自动化学习】- pytest进阶之fixture用法

day98 pytest的fixture功能之session 学习日期&#xff1a;20241215 学习目标&#xff1a;pytest基础用法 -- pytest的fixture功能之session 学习笔记&#xff1a; fixture(scop"session") (scop"session") 是多个文件调用一次&#xff0c;.py文件就是…

【JS/TS鼠标气泡跟随】文本提示 / 操作提示

适用于任何类型项目&#xff1a;vue、react、angular、js、ts、jsp、jquery 1、功能封装&#xff1a; export function useMouseActionTip(text: string, parentEl: HTMLElement, offset?: XY) {function mousemove(e: MouseEvent) {const offsetX offset?.x || 16;const of…

iOS Delegate模式

文章目录 一、 Delegate 模式的概念二、Delegate 的实现步骤步骤 1: 定义一个协议&#xff08;Protocol&#xff09;步骤 2: 在主类中添加一个 delegate 属性步骤 3: 实现协议的类遵守协议并实现方法步骤 4: 设置 delegate 三、Delegate 模式的特点四、Delegate 模式的常见场景…

音视频入门基础:MPEG2-TS专题(18)——PES流简介

一、PES流 《T-REC-H.222.0-202106-S!!PDF-E.pdf》第32页对PES进行了定义。音视频及数字信号经过MPEG-2编码器进行数据压缩&#xff0c;形成基本码流&#xff08;ES流&#xff09;&#xff0c;ES流再打包形成带有包头的码流&#xff0c;就是PES&#xff08;Packetized Element…

CTFshow-php特性(Web125-150)

CTFshow-php特性(Web125-150) Web125 <?php error_reporting(0); highlight_file(__FILE__); include("flag.php"); $a$_SERVER[argv]; $c$_POST[fun]; if(isset($_POST[CTF_SHOW])&&isset($_POST[CTF_SHOW.COM])&&!isset($_GET[fl0g])){if(!p…

Flash Attention

文章目录 Flash Attention: 高效注意力机制解析什么是 Flash Attention&#xff1f;Flash Attention 与普通 Attention 的对比为什么选择 Flash Attention&#xff1f;优点局限性 Flash Attention 的工作原理核心机制 Flash Attention 实现代码普通 Attention 示例Flash Attent…

矩阵论:Vector-Valued Linear and Affine Functions介绍:中英双语

最近在翻看 这本书&#xff0c;对其中的一些英文概念做一些记录。 Link&#xff1a;https://web.stanford.edu/~boyd/books.html 中文版 向量值线性函数和仿射函数的详解 在机器学习、数据科学和工程应用中&#xff0c;向量值线性函数和仿射函数是非常重要的数学工具。本…