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

server/2024/12/21 16:54:50/

前言

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


习题

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/server/151989.html

相关文章

Vue2/3 生命周期详细对比与使用指南

Vue 2 生命周期 Vue 2 中,生命周期是指组件实例在创建、挂载、更新、销毁时所经历的一系列过程。以下是 Vue 2 的生命周期图和主要钩子函数的描述: Vue 2 生命周期钩子 beforeCreate:实例初始化之后调用,数据观测和事件配置尚未完成。常用于初始化逻辑。created:实例创建…

Mongodb 集群搭建

Mongodb 集群搭建 一、简介 mongodb 集群有三种方式&#xff1a;Master slave 主从模式、Replica Set 副本集模式、Sharding 分片集模式 Master slave 主从模式&#xff1a;主节点写入&#xff0c;数据同步到 Slave 节点&#xff0c;Slave 节点提供数据查询&#xff0c;最大…

音频声音太小怎么调大?调大音频声音的几种方法

音频声音太小怎么调大&#xff1f;音频声音过小可能由多种原因引起。从设备本身的硬件设置&#xff0c;到应用程序或播放软件的音量控制&#xff0c;再到文件本身的音频质量&#xff0c;都可能是导致声音过小的因素。尤其是在观看视频或听音乐时&#xff0c;若音量过低&#xf…

2024年云计算的发展趋势如何?

2024年云计算的发展趋势 在这个瞬息万变的科技时代&#xff0c;你是否也曾想过&#xff0c;云计算的发展究竟对我们每一个人意味着什么&#xff1f;它不仅是存储和计算能力的提升&#xff0c;更是整个行业的未来构建与转型之道。接下来&#xff0c;我们将一起探索2024年云计算…

VR虚拟展馆如何平衡用户隐私保护与数据收集?

在虚拟现实&#xff08;VR&#xff09;虚拟展馆的设计和运营中&#xff0c;用户隐私保护与数据收集之间的平衡是一个至关重要的议题。 接下来&#xff0c;由专业从事VR虚拟展馆制作的圆桌3D云展厅平台为大家介绍一些策略&#xff0c;可以帮助VR虚拟展馆在收集有用数据的同时&a…

Arm Cortex-M处理器对比表

Arm Cortex-M处理器对比表 当前MCU处理器上主要流行RISC-V和ARM处理器&#xff0c;其他的内核相对比较少&#xff1b;在这两种内核中&#xff0c;又以Arm Cortex-M生态环境相对健全&#xff0c;大部分的厂家都在使用ARM的处理器。本文主要介绍Arm Cortex-M各个不同系列的参数对…

Mybatis分页插件的使用问题记录

项目中配置的分页插件依赖为 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.7</version></dependency>之前的项目代码编写分页的方式为&#xff0c;通过传入的条件…

【数据库】大二数据库复习范围 (快速版)帮助你快速复习数据库

第一章 1. 信息=数据+语义 2:数据库管理系统(database management system, DBMS) 3. 数据库系统(database system, DBS)由数据库、数据库用户、计算机硬件系统和计算机软件系统等几部分组成 4. 数据模型按应用层次可分为概念模型、逻辑模型和物理模型。 5.每个二维表…