【DFS】200.岛屿数量

news/2024/7/20 21:16:56 标签: 深度优先, 算法, dfs

题目

法1:岛屿数量

class Solution {
    public int numIslands(char[][] grid) {
        int m = grid.length, n = grid[0].length;
        int[][] used = new int[m][n];
        int res = 0;
        for (int i = 0; i < m; ++i) {
            for (int j = 0; j < n; ++j) {
                if (grid[i][j] == '0' || used[i][j] == 1) {
                    continue;
                }
                ++res;
                dfs(i, j, grid, used, m, n);
            }
        }

        return res;
    }

    public void dfs(int i, int j, char[][] grid, int[][] used, int m, int n) {
        if (i < 0 || i >= m 
                || j < 0 || j >= n 
                || grid[i][j] == '0' || used[i][j] == 1) {
            return;
        }
        used[i][j] = 1;

        dfs(i - 1, j, grid, used, m, n); 
        dfs(i + 1, j, grid, used, m, n);
        dfs(i, j - 1, grid, used, m, n); 
        dfs(i, j + 1, grid, used, m, n);
    }
}

http://www.niftyadmin.cn/n/5264273.html

相关文章

ARM(串口控制硬件) 2023.12.11

串口发送指令控制硬件工作 uart.h #ifndef __MYUART_H__ #define __MYUART_H__#include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_uart.h"//串口初始化 void uart_init(); //LED灯的初始化; void led_init(); //…

HTTPS 请求中的证书验证详解(Python版)

在网络通信中&#xff0c;HTTPS 是一种通过 SSL/TLS 加密的安全 HTTP 通信协议。证书在 HTTPS 中扮演着至关重要的角色&#xff0c;用于验证服务器身份并加密数据传输。本文将深入探讨 Python 中 HTTPS 请求中的证书相关内容&#xff0c;并提供详细的代码示例。 1. 证书的基本…

OpenAI承认GPT-4变懒,即将发布修复方案提升性能

目录 1OpenAI承认GPT-4变懒&#xff0c;即将发布修复方案提升性能 2一文秒懂人工智能全球近况 1OpenAI承认GPT-4变懒&#xff0c;即将发布修复方案提升性能 **划重点:** 1. &#x1f92f; 用户反馈:GPT-4使用者抱怨OpenAI破坏了体验&#xff0c;称模型几乎“害怕”提供答案。…

实验02:RIP配置

1.实验目的&#xff1a; 了解路由选择协议&#xff08;Routing Protocol&#xff09;的基本原理及分类&#xff1b;掌握RIP协议的基本原理&#xff1b;实现RIP协议&#xff1b;掌握路由器配置及路由表查看的基本命令。 2.实验内容&#xff1a; 建立拓扑结构&#xff1b;配置…

54 代码审计-TP5框架审计写法分析及代码追踪

目录 知识点1知识点2演示案例:demo代码段自写和规则写分析hsycms-TP框架-不安全写法-未过滤weipan21-TP框架-规则写法-内置过滤 知识点1 调试&#xff0c;访问&#xff0c;路由&#xff0c;配置&#xff0c;版本等 知识点2 自写写法&#xff1a;自己写代码&#xff0c;一步步…

conda保姆级使用教程

Conda使用详解 Conda是流行的Python环境管理器和包管理器,它可以方便创建不同的Python环境,并简单快速安装、运行和升级Python包及其依赖。通过Conda,我们可以轻松管理Python的多个版本和环境。 一、安装Conda 访问Conda的官网https://conda.io/projects/conda/en/latest/user…

『番外篇二』Swift “黑魔法”之动态获取类实例隐藏属性的值

概览 在 Swift 代码的调试中,我们时常惊叹调试器的无所不能:对于大部分“黑盒”类实例的内容,调试器也都能探查的一清二楚。 想要自己在运行时也能轻松找到 Thread 实例“私有”属性的值吗(比如 seqNum)? 在本篇博文中您将学到如下内容: 概览1. 借我,借我,一双慧眼吧…

DriveWorks Solo捕获参数(一)

捕获参数 – 墙 概念&#xff1a;捕获的模型 捕获的模型部分显示当前打开的项目中已捕获的所有模型。双击树中的模型以在 SOLIDWORKS 中将其打开。 通过单击“捕获资源管理器”中的标题来激活“捕获的模型”部分。 展开树并双击DriveWorks Solo 任务窗格中的墙以在 SOLIDWOR…