图论1(Leetcode547.省份数量)

2023-11-05

答案:

class Solution {
    public int findCircleNum(int[][] isConnected) {
        int n = isConnected.length;
        int[] arr = new int[n];
        int ans = 0;

        for(int i=0;i<n;i++){
            if(arr[i]==0){
                ans++;
                arr[i] = 1;
                while(findCity(arr,isConnected[i])!=-1){
                    addCity(arr,isConnected, i);
                }
            }
        }
        return ans;
    }
    public int findCity(int[] arr,int[] isConnectedI){
        //判断有没有新增元素
        for(int i=0;i<arr.length;i++){
            if(isConnectedI[i]==1&&arr[i]==0){
                //有新增返回新增坐标
                return i;
            }
        }
        //无新增返回0
        return -1;
    }
    public int[] addCity(int[]arr, int[][] isConnected, int city){
        //在省份中加入没有加入的城市
        int x;
        while((x = findCity(arr,isConnected[city]))!=-1){
            arr[x] = 1;
            addCity(arr, isConnected, x);
        }
        
        return arr;
    }

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图论1(Leetcode547.省份数量) 的相关文章

  • JAVA逻辑思维题(1)4个人过桥

    有4个女人要过一座桥 她们都站在桥的某一边 要让她们在17分钟内全部通过这座桥 这时是晚上 她们只有一个手电筒 最多只能让两个人同时过桥 不管是谁过桥 不管是一个人还是两个人 必须要带着手电筒 手电筒必须要传来传去 不能扔过去 每个女人过桥
  • vue ag-grid-vue 大数据动态加载服务器请求数据

    vue ag grid vue 渲染大数据表格 动态请求服务器数据设置子目录 目前只能是初始是一次性加载所有数据再分页渲染 还没有研究出滚动分页加载服务器 这个方法是一次加载所有数据在前端再做的分页渲染 点击目录文件展开能动态加载服务器的数
  • 计算机上应用锁,电脑怎么设置软件锁

    题主 针对这个问题有两个解决方案 一 设立两个账户 先创建一个用户 右键计算机 点管理 在弹出的对话框选择用户和组 选择用户 右键空白地方新建用户 设置密码等选项 新建完成关闭对话框 找到软件快捷方式或者软件图标 右键图标 选择属性 在跳出

随机推荐

  • 个人服务器环境搭建

    前言 文档创建时间 2022年12月1日14点26分 初衷 想搭建个人服务器 熟悉Linux的语言以及服务部署相关事情 主要方向可能是个人网站 公众号 小程序后台接口 之前有在免费的服务器上面搭建过 现在再次搭建顺便做个记录 前期准备 云服
  • 学习笔记(一):Windows和Ubuntu系统下的QGIS-python二次开发环境配置方法

    学习笔记 一 Windows和Ubuntu系统下的QGIS python二次开发环境配置方法 过程超级超级无敌详细 0 写在前面 1 Win10系统下QGIS python的开发环境配置 1 1 方法一 使用QGIS软件中的bat文件直接配
  • [Java基础系列第1弹]一文带你了解Java编程语言的精髓:特性、机制、环境和工具

    如果你是一个想要学习编程的新手 或者是一个想要提高编程技能的老手 那么Java编程语言是一个非常好的选择 Java是一种简单 面向对象 分布式 健壮 安全 跨平台 多线程和动态的编程语言 它可以用于开发各种类型和规模的软件应用 Java是目
  • 大厂经典Zookeeper面试题整理汇总

    1 ZooKeeper 是什么 ZooKeeper 是一个分布式的 开放源码的分布式应用程序协调服务 它是一个为分布式应用提供一致性服务的软件 提供的功能包括 配置维护 域名服务 分布式同步 组服务等 ZooKeeper 的目标就是封装好复
  • 在传统公司干IT是一种什么体验(三)

    我的同事人人都是福尔摩斯 我的一举一动都是他们的破案素材 表哥语录 表哥的公司特别重视细节 注重细节本来是一个良好的工作习惯 但是表哥公司的同事把细节用到了极致 可能也是一种内卷的表现 公司里的人基本都干了10年了 公司业务变化也不大 天天
  • 通过url下载文件和本地路径下载文件是不一样的!

    通过url下载文件 RequestMapping value download method RequestMethod GET public void getRequest HttpServletResponse response Str
  • 【微信小程序】从后台获取数据并赋值到数组,然后前端遍历使用。

    一 在 js文件的data里面创建一个空数组 用来存放后端返回的数据 Page data ToDoList 二 后端文件
  • WSL2 使用 docker

    一 下载docker 这篇文章发布的时候正式版的docker 仍然不支持docker wsl 因此需要下载edge 版本 下载地址 https docs docker com docker for windows edge release
  • 献给Python初学者,零基础学习Python能学会吗?

    零基础 学习 Python 能学会吗 这个问题几乎是所有初学Python的小白都会问到的问题 其实Python是非常适合初学者入门的 相较于其他主流类编程语言 Python具有更好的可读性 因此上手更容易 而且即便你是零基础也一样能学会 零
  • 【深度学习】(二)神经网络:激活函数、MNIST

    感知机需要人为设定符合预期输入输出的权重 神经网络可以自动地从数据中心学习到合适的参数 质朴感知机 指单层网络 激活函数使用了阶跃函数的模型 多层感知机 指神经网络 使用平滑的激活函数的多层网络 激活函数 激活函数是将输入信号的总和转换为输
  • sql语句中not in 不好使的原因之一

    场景说明 查询某表中的某字段的值没有在另外一个表中对应的字段中出现过 比如现在有两个表 一个产品表product 一个优惠券批次表coupon coupon中的product code字段与product中的product code形成一对
  • 基于selenium实现UI自动化

    目录 一 Selenium简介 1 Selenium工具组件介绍 2 Selenium WebDriver 介绍及实现原理 二 Selenium WebDriver基于Python实现脚本 1 Selenium 环境安装 2 Seleniu
  • 将Vscode添加右键打开文件夹功能

    将Vscode添加右键打开文件夹功能 文章目录 将Vscode添加右键打开文件夹功能 前言 1 将Vscode添加右键打开文件夹功能 1 1 第一种方法 1 2 第二种方法 总结 前言 想要鼠标右击文件或者文件夹 可直接用VSCode打开
  • 探讨递归这个引人入胜的领域

    又回来念一念递归的经 编程之旅上有笔直的大路 也有盘一盘的递归 今天探讨递归是引人入胜的思想 递归也许是上帝做工的方式 函数调用自己则体现了内在统一的秩序 递归究竟是什么 每年我们都会长一岁 试试定义一个函数 deltaYear只做一件事情
  • 【PyQt5】connect时可以为槽函数传递参数的方法

    本文参考 PyQt5 为槽函数传递额外参数的方法 简书 如题 一般在使用connect时若在槽函数中添加参数 在运行时会报错 unexpected type NoneType 在csdn中搜了好久都没搜到解决方法 于是特意将方法搬到这里来
  • python——pickle模块的详解

    pickle模块详解 该pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议 Pickling 是将Python对象层次结构转换为字节流的过程 unpickling 是反向操作 从而将字节流 来自二进制文件或类似字节的
  • vue展示json数据,vue-json-viewer的使用

    一 安装 yarn add vue json viewer 二 引入项目 src目录下plugins下的jsonViewer js文件 import Vue from vue import JsonViewer from vue json
  • springboot 集成druid 报错Communications link failure

    最近线上的定时任务出现一个问题 晚上12点执行的时候出现数据库连接失败 具体堆栈信息如下 2019 12 03 22 16 00 208 ERROR 24832 ryBean Worker 1 c a druid pool DruidPoo
  • Qt链接Mysql数据库

    方法一 直接通过MySQL的驱动加载数据库 1 在qt项目文件中加入sql 2 加入sql头文件 include
  • 图论1(Leetcode547.省份数量)

    答案 class Solution public int findCircleNum int isConnected int n isConnected length int arr new int n int ans 0 for int