力扣labuladong——一刷day75

news/2024/7/20 21:16:53 标签: leetcode, 深度优先, 算法, 数据结构, java

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣200. 岛屿数量(广搜)
  • 二、力扣200. 岛屿数量(深搜)


前言


图论,深搜还有广搜都只是手段

一、力扣200. 岛屿数量(广搜)

java">class Solution {
    int[][] arr = new int[][]{
        {0,1},
        {0,-1},
        {1,0},
        {-1,0}
    };
    boolean[][] flag;
    public int numIslands(char[][] grid) {
        int count = 0;
        flag = new boolean[grid.length][grid[0].length];
        for(int i = 0; i < grid.length; i ++){
            for(int j = 0; j < grid[0].length; j ++){
                if(!flag[i][j] && grid[i][j] == '1'){
                    count ++;
                    bfs(grid, i, j);
                }
            }
        }
        return count;
    }
    
    public void bfs(char[][] grid, int x, int y){
        Deque<int[]> deq = new ArrayDeque<>();
        deq.offerLast(new int[]{x,y});
        flag[x][y] = true;
        while(!deq.isEmpty()){
            int size = deq.size();
            for(int i = 0; i < size; i ++){
                int[] cur = deq.pollFirst();
                for(int j = 0; j < 4; j ++){
                    int curX = cur[0] + arr[j][0];
                    int curY = cur[1] + arr[j][1];
                    if(curX < 0 || curY < 0 || curX >= grid.length || curY >= grid[0].length || grid[curX][curY] == '0' || flag[curX][curY]){
                        continue;
                    }
                    flag[curX][curY] = true;
                    deq.offerLast(new int[]{curX,curY});
                }
            }
        }
    }
}

二、力扣200. 岛屿数量(深搜)

java">class Solution {
    int[][] arr = new int[][]{
        {0,1},
        {0,-1},
        {1,0},
        {-1,0}
    };
    boolean[][] flag;
    public int numIslands(char[][] grid) {
        int count = 0;
        flag = new boolean[grid.length][grid[0].length];
        for(int i = 0; i < grid.length; i ++){
            for(int j = 0; j < grid[0].length; j ++){
                if(!flag[i][j] && grid[i][j] == '1'){
                    count ++;
                    dfs(grid, i, j);
                }
            }
        }
        return count;
    }
    public void dfs(char[][] grid, int x, int y){
        if(flag[x][y]){
            return;
        }
        flag[x][y] = true;
        for(int i = 0; i < 4; i ++){
            int curX = x + arr[i][0];
            int curY = y + arr[i][1];
            if(curX < 0 || curY < 0 || curX >= grid.length || curY >= grid[0].length || grid[curX][curY] == '0'){
                continue;
            }
            dfs(grid, curX, curY);
        }
    }
}

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

相关文章

Vue3+Ts项目——登录页面跳转到首页

前言&#xff1a;根据我上篇所实现的左边菜单栏之后&#xff0c;需要登录成功跳转home页面。主要分为三步。 第一步&#xff1a;创建三个ts文件结合pinia缓存登录信息和token src\api\userTypes.ts 就是个接口类方便页面和另一个ts文件数据传递&#xff0c;其实也可以不用 …

微服务实战系列之ZooKeeper(上)

前言 历经1个多月的创作和总结&#xff0c;纵观博主微服务系列博文&#xff0c;大致脉络覆盖了以下几个方面&#xff1a; 数据方面&#xff08;缓存&安全&#xff09; 比如Redis、MemCache、Ehcache、J2cache&#xff08;两级缓存框架&#xff09;、RSA加密、Sign签名…传…

黑马点评04集群下的并发安全

实战篇-08.优惠券秒杀-集群下的线程并发安全问题_哔哩哔哩_bilibili 为了应对高并发&#xff0c;需要把项目部署到多个机器构成集群&#xff0c;所以需要配置nginx。 1.如何模拟集群 通过idea的ctrl d修改配置&#xff0c;实现多个tomcat运行模拟集群 然后在nginx上配置节点&…

详细了解stm32---按键

提示&#xff1a;永远支持知识文档免费开源&#xff0c;喜欢的朋友们&#xff0c;点个关注吧&#xff01;蟹蟹&#xff01; 目录 一、了解按键 二、stm32f103按键分析 三、按键应用 一、了解按键 同学们&#xff0c;又见面了o(*&#xffe3;▽&#xffe3;*)ブ&#xff0c;最…

【华为OD】向一个空栈中依次存入正整数,假设入栈元素n(1<=n<=2^31-1)按顺 序依次为nx…n4、n3、n2、n1,每当元素入栈时

“”" 向一个空栈中依次存入正整数,假设入栈元素n(1<=n<=2^31-1)按顺 序依次为nx…n4、n3、n2、n1,每当元素入栈时,如果n1=n2+.…+ny(y的范围[2.x],1<

【置顶】 本博博文汇总

文章目录 前言音视频ijkplayer源码分析FFmpeg、音视频协议Andriod系统音视频框架C、C Android&Java源码分析、绘制、渲染Dalvik、Art虚拟机Java并发 计算机基础操作系统计算机网络设计模式、数据结构、算法 前言 23年底了&#xff0c;想来也工作十年&#xff0c;也一直在c…

第十章 SpringCloud Alibaba 实现Sleuth–链路追踪

链路追踪介绍 在大型系统的微服务化构建中&#xff0c;一个系统被拆分成了许多模块。这些模块负责不同的功能&#xff0c;组合成 系统&#xff0c;最终可以提供丰富的功能。在这种架构中&#xff0c;一次请求往往需要涉及到多个服务。互联网应用构建 在不同的软件模块集上&…

IDEA新建jdk8 spring boot项目

今天新建spring boot项目发现JDK版本最低可选17。 但是目前用的最多的还是JDK8啊。 解决办法 Server URL中设置&#xff1a; https://start.aliyun.com/设置完成后&#xff0c;又可以愉快的用jdk8创建项目了。 参考 https://blog.csdn.net/imbzz/article/details/13469117…