day59(1.18)——leetcode面试经典150

200. 岛屿数量

200. 岛屿数量

题目:

题解:

java 复制代码
class Solution {
    int l,r;
    boolean[][] flag;
    int sum = 0; 
    public int numIslands(char[][] grid) {
        l = grid.length;
        r = grid[0].length;
        flag = new boolean[l][r];
        for(int i=0;i<l;i++) {
            for(int j=0;j<r;j++) {
                if(grid[i][j] == '1' && !flag[i][j]) {
                    dfs(grid,i,j);
                    sum++;
                }
            }
        }
        return sum;
    }
    
    public void dfs(char[][] grid, int x, int y) {
        if(x<0 || y<0 || x >= l || y >= r || grid[x][y] == '0' || flag[x][y] == true) {
            return;
        }
        flag[x][y] = true;
        dfs(grid,x+1,y);
        dfs(grid,x,y+1);
        dfs(grid,x-1,y);
        dfs(grid,x,y-1);
    }
}
相关推荐
Doubbbbbbble云14 分钟前
区间合并问题的常见算法模式与优化思路4
java·数据结构·算法
David猪大卫18 分钟前
【C++修炼】哈希表的实现
数据结构·c++·笔记·学习·算法·哈希算法·散列表
hahaha60161 小时前
HLS高层次综合设计技巧--数组
开发语言·嵌入式硬件·算法·fpga开发
不会就选b1 小时前
算法日常・每日刷题--<贪心>10
算法
南京兴帝文化传媒有限公司2 小时前
本地生活服务商户GEO优化技术实践:AI大模型收录机制与地图POI权重算法拆解
大数据·人工智能·算法·生活·geo优化实操·csdn运营技巧·ai内容收录
linx2952 小时前
单元九 · 零基础路线图-第 7–9 周·类与 RAII
c语言·开发语言·数据结构·c++·嵌入式硬件·算法
布莱克6052 小时前
C++ 七大排序算法详解:选择、冒泡、插入、计数、堆、快速与归并排序
数据结构·c++·算法·排序算法
ocean21033 小时前
2025-2026年AI应用开发与Agent面试高频知识点洞察
人工智能·面试·职场和发展
shehuiyuelaiyuehao3 小时前
算法44,模拟算法,数青蛙
算法·哈希算法·散列表
hanlin033 小时前
刷题笔记:力扣第287题-寻找重复数
笔记·算法·leetcode