做塑料哪个网站好,受欢迎的免费建站,企查查企业信息查询手机版下载,discuzx转wordpress前言
###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程#xff08;例如想要掌握基础用法#xff0c;该刷哪些题#xff1f;#xff09;我的解析也不会做的非常详细#xff0c;只会提供思路和一些关键点#xff0c;力扣上的大佬们的题解质量是非…前言
###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程例如想要掌握基础用法该刷哪些题我的解析也不会做的非常详细只会提供思路和一些关键点力扣上的大佬们的题解质量是非常非常高滴 习题
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;in;i){for(int j 0;jm;j){if(grid[i][j]1flag[i][j]0){count 0;flag2 0;recursion(i,j);// System.out.println(flag2);if(flag20){anscount;}}}}return ans;}public void recursion(int x,int y){flag[x][y] 1;count;if(xn-1||x0||ym-1||y0){flag2 1;}if(x1ngrid[x1][y]1flag[x1][y]0){recursion(x1,y);}if(x-10grid[x-1][y]1flag[x-1][y]0){recursion(x-1,y);}if(y1mgrid[x][y1]1flag[x][y1]0){recursion(x,y1);}if(y-10grid[x][y-1]1flag[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;in;i){ flag new int[n][m];flag[i][0] 1;recursion(i,0,1);}return ans1?0:ans-1;}public void recursion(int x,int y,int count){ans Math.max(ans,count);if(x-10y1mgrid[x-1][y1]grid[x][y]flag[x-1][y1]0){flag[x-1][y1] 1;recursion(x-1,y1,count1);// flag[x-1][y1] 0;}if(y1mgrid[x][y1]grid[x][y]flag[x][y1]0){flag[x][y1] 1;recursion(x,y1,count1);// flag[x][y1] 0;}if(x1ny1mgrid[x1][y1]grid[x][y]flag[x1][y1]0){flag[x1][y1] 1;recursion(x1,y1,count1);// flag[x1][y1] 0;}}
} 后言
上面是力扣图论专题下一篇是其他的习题希望有所帮助一同进步共勉