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

力扣-图论-15【算法学习day.65】

前言

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


习题

1.飞地的数量

题目链接:1020. 飞地的数量 - 力扣(LeetCode)

题面:

代码:

class Solution {int[][] grid;int n,m;int[][] flag;int flag2 = 0;int count = 0;int ans = 0;public int numEnclaves(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]==1&&flag[i][j]==0){count = 0;flag2 = 0;recursion(i,j);// System.out.println(flag2);if(flag2==0){ans+=count;}}}}return ans;}public void recursion(int x,int y){flag[x][y] =1;count++;if(x==n-1||x==0||y==m-1||y==0){flag2 = 1;}if(x+1<n&&grid[x+1][y]==1&&flag[x+1][y]==0){recursion(x+1,y);}if(x-1>=0&&grid[x-1][y]==1&&flag[x-1][y]==0){recursion(x-1,y);}if(y+1<m&&grid[x][y+1]==1&&flag[x][y+1]==0){recursion(x,y+1);}if(y-1>=0&&grid[x][y-1]==1&&flag[x][y-1]==0){recursion(x,y-1);}}
}

2.矩阵中移动的最大次数

题目链接:2684. 矩阵中移动的最大次数 - 力扣(LeetCode)

代码:

class Solution {int[][] grid;int[][] flag;int n,m;int ans = 0;public int maxMoves(int[][] grid) {this.grid = grid;n = grid.length;m = grid[0].length;for(int i = 0;i<n;i++){      flag = new int[n][m];flag[i][0] = 1;recursion(i,0,1);}return ans==1?0:ans-1;}public void recursion(int x,int y,int count){ans = Math.max(ans,count);if(x-1>=0&&y+1<m&&grid[x-1][y+1]>grid[x][y]&&flag[x-1][y+1]==0){flag[x-1][y+1] = 1;recursion(x-1,y+1,count+1);// flag[x-1][y+1] = 0;}if(y+1<m&&grid[x][y+1]>grid[x][y]&&flag[x][y+1]==0){flag[x][y+1] = 1;recursion(x,y+1,count+1);//  flag[x][y+1] = 0;}if(x+1<n&&y+1<m&&grid[x+1][y+1]>grid[x][y]&&flag[x+1][y+1]==0){flag[x+1][y+1] = 1;recursion(x+1,y+1,count+1);//  flag[x+1][y+1] = 0;}}
}

后言

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

http://www.lryc.cn/news/505293.html

相关文章:

  • “AI智慧数字孪生系统:开启智能新纪元
  • 54、库卡机器人轴的软限位设置
  • 基于MATLAB 的数字图像处理技术总结
  • Android运行低版本项目可能遇到的问题
  • window.getSelection() 获取划线内容并实现 dom 追随功能
  • 【人工智能】基于Python的自然语言处理:深入实现文本相似度计算
  • 布局、组成部分
  • Go, Jocko, Kafka
  • CANoe 报文仿真
  • 升级thinkphp8最新版本,升级后发现版本不变
  • 工业大数据分析算法实战-day07
  • 六、nginx负载均衡
  • 鸿蒙项目云捐助第十一讲鸿蒙App应用的捐助成功自定义对话框组件实现
  • 华为云联合中国信通院发布首个云计算智能化可观测性能力成熟度模型标准
  • 如何评估呼叫中心大模型呼出机器人的使用效果?
  • ARM/Linux嵌入式面经(六一):联合汽车电子
  • unity 雷达
  • 单元测试知识总结
  • Android:使用Service处理息屏后的WebSocket的服务端推送消息并传递给前端
  • Git Bash Here 中文显示乱码的处理方法
  • FreeBSD安装教程
  • Loki 各模式简介
  • MySQL八股-全局锁,表级锁,表锁,元数据锁,意向锁,行级锁,行锁,间隙锁,临键
  • (四)Spring Cloud Alibaba 2023.x:高效构建 Gateway 网关服务
  • Android XR 是什么?解释它的功能、设备、开发工具等
  • 【算法】实体关系抽取
  • Codeforces Round 993 (Div. 4)题解
  • 【计算机网络】期末考试预习复习|中
  • 从零用java实现 小红书 springboot vue uniapp (4)个人主页优化
  • 为“行车大脑”降温:Simdroid-EC助力汽车ECU设计研发