代码:
- class Solution {
- static int[][] dirs = {{1,0},{-1,0},{0,1},{0,-1}};
- public int closedIsland(int[][] grid) {
- int num = 0;
- for(int i=0;i
- for(int j=0;j
0].length;j++){ - if(grid[i][j]==0){
- int[] start = {i,j};
- if(getIsland(start,grid)){
- num++;
- }
- }
- }
- }
- return num;
- }
- private boolean getIsland(int[] start,int[][] grid){
- boolean flag = true;
- grid[start[0]][start[1]] = -1;
- for(int i=0;i
- int x = start[0] + dirs[i][0];
- int y = start[1] + dirs[i][1];
- if(x<0||x==grid.length||y<0||y==grid[0].length)flag = false;
- if(x>=0&&x
=0&&y0].length&&grid[x][y]==0){ - int[] cur = {x,y};
- if(flag==true){
- flag = getIsland(cur,grid);
- }else{
- getIsland(cur,grid);
- }
-
- }
- }
- return flag;
- }
- }
-
相关阅读:
函数参数传递过程分析及可变长参数列表的使用
MySql创建分区
聚观早报 | 慧聪网经营困难宣布停工;推特工程副总投奔 Meta
【MATLAB】根据已有数据绘制Bode图、时域曲线等(进阶版)
力扣hot100——第3天:11盛最多水的容器、15三数之和、17电话号码的字母组合
三谈exception——错误处理
HTTP、HTTPS协议详解
Python获取阿里巴巴商品详情api
Java进程假死排查记录
学习-Java输入输出之File类之文件创建删除
-
原文地址:https://blog.csdn.net/stacey777/article/details/133214813