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

news/2024/12/19 7:19:33/

前言

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


习题

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/news/1556330.html

相关文章

PHP代码审计学习(一)--命令注入

1、漏洞原理 参数用户可控&#xff0c;程序将用户可控的恶意参数通过php可执行命令的函数中运行导致。 2、示例代码 <?php echorec-test; $command ping -c 1 .$_GET[ip]; system($command); //system函数特性 执行结果会自动打印 ?> 通过示例代码可知通过system函…

如何评估并持续优化AI呼出机器人的使用效果

如何评估并持续优化AI呼出机器人的使用效果 作者&#xff1a;开源呼叫中心FreeIPCC 随着人工智能技术的发展&#xff0c;AI呼出机器人在企业中的应用越来越广泛。这些智能系统不仅提高了工作效率、降低了成本&#xff0c;还改善了客户体验。然而&#xff0c;要确保AI呼出机器…

【LeetCode每日一题】Leetcode 605.种花问题

Leetcode 605.种花问题 题目描述&#xff1a; 假设有一个很长的花坛&#xff0c;一部分地块种植了花&#xff0c;另一部分却没有。可是&#xff0c;花不能种植在相邻的地块上&#xff0c;它们会争夺水源&#xff0c;两者都会死去。 给你一个整数数组 flowerbed 表示花坛&…

什么是docker,docker解决了什么问题

什么是docker&#xff0c;docker解决了什么问题 用docker可以解决什么问题 在日常开发中&#xff0c;我们可能经常面临这样的问题 环境一致性问题&#xff0c;同一个程序&#xff0c;可能在开发环境能运行&#xff0c;但是到测试、生产环境就会遇到各种各样的问题&#xff0…

Java中的设计模式全解及电商应用场景示例

Java中的设计模式全解及电商应用场景示例 设计模式是软件开发中常用的解决方案&#xff0c;提供了可复用的代码结构和设计原则。本文将详细介绍Java中的23种设计模式&#xff0c;并结合电商实际应用场景进行示例说明。 1. 创建型模式 1.1 单例模式&#xff08;Singleton Patt…

用户输入 %%%% , MYSQL中数据全被查询出来的Bug(GORM)

1.Bug 奇遇记 在工作中遇到的一个神奇小bug. 那是一天大雪天上午 , 打开飞书 , 哦吼 , 新bug. 看到这个bug当时就感觉出来问题出在哪里了, 仔细查看后 , 坏了啊, 这一个项目基本上涉及到模糊查询的都有这个bug. 并且 , 在我之前实习的公司 , 在学校做的项目 , 全部都存在这个bu…

基于RRT(Rapidly-exploring Random Tree)的无人机三维路径规划,MATLAB代码

RRT&#xff08;Rapidly-exploring Random Tree&#xff09;算法是一种基于采样的路径规划方法&#xff0c;它通过递增地构建一棵树来探索配置空间。算法从一个初始点&#xff08;通常是起点&#xff09;开始&#xff0c;通过随机采样的方式逐步扩展树结构&#xff0c;直到达到…

社区生活超市系统|Java|SSM|JSP|

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…