leetcode547. 省份数量

题目描述

链接: leetcode547.

有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。
省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。
给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。
返回矩阵中 省份 的数量。

示例1:

输入:isConnected = [[1,1,0],[1,1,0],[0,0,1]]
输出:2

示例2:

输入:isConnected = [[1,0,0],[0,1,0],[0,0,1]]
输出:3

题解

使用并查集来解答:

  • 初始化并查集,大小为isConnected数组长度,即城市个数
  • 双重遍历数组,若isConnected[i][j] == 1 ,则表示第 i 个城市和第 j 个城市直接相连,使用union方法连接,形成连通分量
    其中并查集算法可见: 并查集算法.
    public int findCircleNum(int[][] isConnected) {int n = isConnected.length;UnionFind unionFind = new UnionFind(n);for (int i = 0; i < n; ++i) {for (int j = i + 1; j < n; ++j) {if (isConnected[i][j] == 1) {unionFind.union(i, j);}}}return unionFind.count;}

leetcode547. 省份数量相关推荐

  1. 算法题目——省份数量(dfs,bfs)

    题目链接:leetcode.547省份数量 dfs: 深度优先遍历:递归 思路:读入数据完成后 重点:建立一个数组记录该省份是否访问,新建一个元素记录省份圈的个数 1.对所有省份循环一次,如果该省份未 ...

  2. 【数据结构与算法】之深入解析“省份数量”的求解思路与算法示例

    一.题目要求 有 n 个城市,其中一些彼此相连,另一些没有相连.如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连. 省份是一组直接或间接相连的城 ...

  3. leetcode 547. 省份数量(bfs)

    有 n 个城市,其中一些彼此相连,另一些没有相连.如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连. 省份 是一组直接或间接相连的城市,组内不含 ...

  4. leetcode:省份数量

    有 n 个城市,其中一些彼此相连,另一些没有相连.如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连. 省份 是一组直接或间接相连的城市,组内不含 ...

  5. leetcode 547. Number of Provinces | 547. 省份数量(图的邻接矩阵 DFS)

    题目 https://leetcode.com/problems/number-of-provinces/ 题解 本题用了图的邻接矩阵 DFS.另外,也可以用并查集来做. class Solution ...

  6. leetcode 并查集 547.省份数量/200岛屿数量

    [数据结构和算法笔记]用并查集求解等价关系_m0_52043808的博客-CSDN博客 模板: class UF { private:vector<int>father;//father数 ...

  7. 并查集(Union-Find) (图文详解)

    文章目录 并查集基础知识 定义 C++实现 优化 精选算法题(Java实现) 实现并查集 交换字符串中的元素 最长连续序列 - 字节面试常考 连通网络的操作次数 最大岛屿数量 (三种解法) 省份数量 ...

  8. LeetCode算法题整理(200题左右)

    目录 前言 一.树(17) 1.1.后序遍历 1.2.层次遍历 1.3.中序 1.4.前序 二.回溯(20) 2.1.普通回溯 2.2.线性回溯:组合.排列.子集.分割 2.3.矩阵回溯 三.二分查找 ...

  9. 最新IP数据库-基于国家省份城市县区和运营商-专业准确-每月发行

    最新IP地址数据库(qqzeng-ip) 2023年6月 最新发行版 992003 条数据 版本:全球旗舰版(国内精华版+国外拓展版) 基于:国内基于省市区以及运营商 国外基于国家 部分到大城市和运营 ...

最新文章

  1. CV新手避坑指南:计算机视觉常见的8个错误
  2. Codeforces 813B The Golden Age(数学+枚举)
  3. c# mysql executescalar_C# 操作MySQL数据库, ExecuteScalar()方法执行T-SQL语句, COUNT(*), 统计数据...
  4. mysql目录权限设置_MySQL文件及目录权限设置分析-爱可生
  5. 元素的层次结构和HTML文档结构
  6. 大一新生开发的小工具火了,网友:我好菜
  7. html中dir标签的作用是什么意思,htmldir标签是干啥的?dir标签的具体定义和属性介绍...
  8. html5做旋转太极图,HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)...
  9. 网站开发用什么语言好_网站开发教程:企业如何用网站开启在线业务?
  10. 鸿蒙轻内核源码分析:掌握信号量使用差异
  11. ajax请求接口连不上会报错吗_服务端有异常, 导致: Ajax 请求报错 net::ERR_INCOMPLETE_CHUNKED_ENCODING...
  12. Idea中上传项目到Github
  13. 构造体中变量后面的冒号_类型在变量前面还是后面,终于有答案了
  14. Fiddler中文版设置抓取某个网站的信息 2021-07-31
  15. Excel如何安装VBA?
  16. 网页设计html图片滚动特效,网站设计|滚动特效全面讲解!
  17. win7磁盘清理_Win7系统使用久变慢怎么办?Windows7系统优化方法
  18. 孩子数学成绩不好怎么办_三年级发现孩子数学成绩非常不好,作为家长该怎么办?...
  19. 华为/华三交换机配置SSH免密登录
  20. Linux网络通讯命令大全

热门文章

  1. 望图知意-Yahoo VS 3721
  2. Mybatis01(结果集封装)
  3. 注解、路径、 Log4J、<settings>标签
  4. PostgreSQL常用SQL
  5. phylip软件_进化树专题(五)| 密码子分区软件介绍
  6. 北京玉渊潭开启春节模式 五大版块吸引游客
  7. 《树莓派Python编程入门与实战》——2.1 了解Linux
  8. 《OpenStack云计算实战手册(第2版)》——1.4 安装OpenStack身份认证服务
  9. LoadRunner解决“服务器正在运行中”方法
  10. 获取网页上数据(图片、文字、视频)-b