当前位置: 首页 > news >正文

力扣--并查集547.省份数量

思路分析:

  • 首先定义变量 fa 用于记录并查集,以及城市数量 n
  • 定义了并查集的两个函数,find 用于查找节点的根节点,togother 用于合并两个节点所在的集合。
  • 在公共函数 findCircleNum 中,初始化并查集,然后遍历 isConnected 数组,将相连的城市进行合并。
  • 最后使用 visited 数组记录每个城市是否已经被访问过,然后统计省份的数量并返回。

class Solution {int fa[201]; // 并查集数组,用于记录节点的父节点int n; // 城市数量// 定义并查集的查找函数,用于查找节点 x 的根节点(即所属集合的代表节点)int find(int x) {// 如果节点 x 的父节点就是它自己,则返回 xif (fa[x] == x)return x;// 否则,递归地查找 x 的父节点,并返回结果elsereturn find(fa[x]);}// 定义并查集的合并函数,用于合并节点 x 和节点 y 所在的两个集合void togother(int x, int y) {// 将节点 x 所在集合的根节点设为节点 y 所在集合的根节点fa[find(x)] = find(y);}public:// 定义一个公共函数,用于计算省份的数量int findCircleNum(vector<vector<int>>& isConnected) {// 获取城市数量n = isConnected.size();// 初始化并查集,将每个节点的父节点设为它自己for (int i = 0; i < n; i++)fa[i] = i;// 遍历 isConnected 数组,将相连的城市进行合并for (int i = 0; i < n - 1; i++) {for (int j = i + 1; j < n; j++) {if (isConnected[i][j] == 1)togother(i, j);}}// 使用 visited 数组记录每个城市是否已经被访问过vector<bool> visited(n, false);int count = 0; // 记录省份的数量// 遍历每个城市,对于每个城市,如果其所在集合的根节点尚未被访问过,则将其标记为已访问,并增加省份数量for (int i = 0; i < n; i++) {if (visited[find(i)] == false) {count++;visited[find(i)] = true;}}// 返回省份的数量return count;}
};

相关文章:

力扣--并查集547.省份数量

思路分析&#xff1a; 首先定义变量 fa 用于记录并查集&#xff0c;以及城市数量 n。定义了并查集的两个函数&#xff0c;find 用于查找节点的根节点&#xff0c;togother 用于合并两个节点所在的集合。在公共函数 findCircleNum 中&#xff0c;初始化并查集&#xff0c;然后遍…...

leetcode35-Search Insert Position

排序数组搜索某个元素&#xff0c;这种思维一定要往二分法上靠 public class searchInsertPosition{public static void main(String[] args) {int arr[] {1,3,5,6};System.out.println(getIndex(arr,2));}public static int getIndex(int[] arr,int target) {int start 0;i…...

API 接口渗透测试

1 API 接口介绍 1.1 RPC&#xff08;远程过程调用&#xff09; 远程过程调用&#xff08;英语&#xff1a;Remote Procedure Call&#xff0c;缩写为 RPC&#xff09;是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序&#xff0c;而程序员无…...

oracle 19c单机版本补丁升级

文章目录 一、补丁包概述二、备份opatch三、替换高版本opatch四、打DB补丁1、关闭数据库2、关闭监听3、解压补丁4、冲突检测5、补丁空间检查6、执行补丁升级7、将更新内容加载到数据库8、最后查看数据库版本9、卸载补丁包 一、补丁包概述 补丁升级包 链接&#xff1a;https://…...

推荐系统的未来:大模型驱动的个性化推荐技术与挑战

推荐系统的未来&#xff1a;大模型驱动的个性化推荐技术与挑战 1. 背景介绍 推荐系统是现代互联网服务中不可或缺的一部分&#xff0c;它通过分析用户的历史行为和偏好&#xff0c;为用户提供个性化的内容推荐&#xff0c;从而提高用户体验和满意度。随着大数据、机器学习和人…...

Allegro许可管理工具

在数字化时代&#xff0c;软件许可管理成为企业面临的挑战之一。如何确保软件的合规使用、优化资源配置并降低运营成本是企业关注的焦点。Allegro许可管理工具作为一款强大的管理工具&#xff0c;为企业提供了全面、高效的解决方案。本文将深入探讨Allegro许可管理工具的卓越实…...

React函数组件Hook

问题: 相对于类组件, 函数组件的编码更简单, 效率也更高, 但函数组件不能有state (旧版) 解决: React 16.8版本设计了一套新的语法来让函数组件也可以有state Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性 Hook也叫钩子…...

【FinalShell】远程连接 Linux 工具 FinalShell 的使用:查看 AI 语言大模型对话实时日志

一、查看 APP 实时 AI 问答消息的 websocket 类型日志 &#xff08;1&#xff09;Linux 模板命令配置 Linux 命令&#xff1a;查看 AI 语言大模型结合向量数据库的实时问答消息日志 ① 测试环境 FinalShell 命令模板 【Linux 命令标题】[Test_APP] today tail&#xff1a;webs…...

ARM Coresight 系列文章 11.1 -- CoreSight Cortex-M33 CTI 详细介绍】

请阅读【ARM Coresight SoC-400/SoC-600 专栏导读】 文章目录 CTI 的工作原理CTI 主要特点CTI的使用场景CTI 的工作原理 CTI 允许不同的调试和追踪组件之间基于特定事件进行交互。例如,当一个断点被命中时,CTI 可以用来触发内存的追踪捕捉或者外部仪器的行为,反之亦然。这种…...

Linux常用操作命令(清单快查版)

Linux常用操作命令&#xff0c;今日先给出快查清单&#xff0c;后续出带命令参数及不同OS的区别语法的相关示例 1. 文件与目录操作 命令描述ls列出目录内容cd切换目录pwd显示当前工作目录mkdir创建目录rmdir删除空目录cp复制文件或目录mv移动或重命名文件或目录rm删除文件或目…...

[C语言]结构体、位段、枚举常量、联合体

目录 结构体 结构体的使用方法 结构体所占用的大小 位段 位段的使用方法 位段所占用的大小 枚举常量 枚举常量的使用方法 枚举常量的优势 联合体 联合体的使用方法 结构体 结构体的使用方法 结构体是一些值的集合&#xff0c;我们可以定义一个结构体&#xff0c;里…...

LangChain核心模块 Retrieval——文档加载器

Retrieval ​ 许多LLM申请需要用户的特定数据&#xff0c;这些数据不属于模型训练集的一部分&#xff0c;实现这一目标的主要方法是RAG(检索增强生成)&#xff0c;在这个过程中&#xff0c;将检索外部数据&#xff0c;然后在执行生成步骤时将其传递给LLM。 ​ LangChain 提供…...

力扣爆刷第104天之CodeTop100五连刷6-10

力扣爆刷第104天之CodeTop100五连刷6-10 文章目录 力扣爆刷第104天之CodeTop100五连刷6-10一、15. 三数之和二、53. 最大子数组和三、912. 排序数组四、21. 合并两个有序链表五、1. 两数之和 一、15. 三数之和 题目链接&#xff1a;https://leetcode.cn/problems/3sum/descrip…...

Docker操作基础命令

注意&#xff1a;以下命令在特权模式下进行会更有效&#xff01; 进入特权模式 sudo -ssudo su拉取镜像 sudo docker pull [镜像名] # sudo docker pull baiduxlab/sgx-rust:2004-1.1.3进入容器 端口开启服务&#xff1a; sudo docker start 3df9bf5dbd0c进入容器&#xf…...

穿越地心:3D可视化技术带你领略地球内部奇观

在广袤无垠的宇宙中&#xff0c;地球是一颗充满生机与奥秘的蓝色星球。我们每天都生活在这颗星球上&#xff0c;感受着它的温暖与恩赐&#xff0c;却往往忽略了它深邃的内部世界。 想象一下&#xff0c;你能够穿越时空&#xff0c;深入地球的核心&#xff0c;亲眼目睹那些亿万年…...

蓝桥杯刷题_day1_回文数_水仙花数_进制转换

文章目录 特殊的回文数回文数水仙花数十六进制转八进制_n次 特殊的回文数 问题描述   123321是一个非常特殊的数&#xff0c;它从左边读和从右边读是一样的。   输入一个正整数n&#xff0c; 编程求所有这样的五位和六位十进制数&#xff0c;满足各位数字之和等于n 。 解题…...

jmeter接口导入方式

curl直接导入 1、操作页面后&#xff0c;F12查看接口&#xff0c;右击接口-copy-copy as cURL 2、jmeter 工具-import from cURL&#xff0c;粘贴上面复制的curl 根据接口文档导入 1、接口文档示例如下&#xff1a; Path&#xff1a; /api/jobs/xps/exec Method&#xf…...

设计模式(行为型设计模式——状态模式)

设计模式&#xff08;行为型设计模式——状态模式&#xff09; 状态模式 基本定义 对有状态的对象&#xff0c;把复杂的“判断逻辑”提取到不同的状态对象中&#xff0c;允许状态对象在其内部状态发生改变时改变其行为。 模式结构 Context&#xff08;环境类&#xff09;&…...

【Flutter学习笔记】10.3 组合实例:TurnBox

参考资料&#xff1a;《Flutter实战第二版》 10.3 组合实例&#xff1a;TurnBox 这里尝试实现一个更为复杂的例子&#xff0c;其能够旋转子组件。Flutter中的RotatedBox可以旋转子组件&#xff0c;但是它有两个缺点&#xff1a; 一是只能将其子节点以90度的倍数旋转二是当旋转…...

性能测试入门 —— 什么是性能测试PTS?

性能测试PTS&#xff08;Performance Testing Service&#xff09;是一款简单易用&#xff0c;具备强大的分布式压测能力的SaaS压测平台。 PTS可以模拟复杂的业务场景&#xff0c;并快速精准地调度不同规模的流量&#xff0c;同时提供压测过程中多维度的监控指标和日志记录。您…...

pg_activity快速入门:如何在5分钟内开始监控PostgreSQL服务器

pg_activity快速入门&#xff1a;如何在5分钟内开始监控PostgreSQL服务器 【免费下载链接】pg_activity pg_activity is a top like application for PostgreSQL server activity monitoring. 项目地址: https://gitcode.com/gh_mirrors/pg/pg_activity PostgreSQL数据库…...

借助快马平台AI能力打造智能自适应的contextmenumanager管理系统

最近在做一个需要频繁使用右键菜单的项目&#xff0c;发现传统contextmenu管理方式实在太麻烦了。每次新增功能都要手动写一堆配置代码&#xff0c;维护起来也头疼。正好看到InsCode(快马)平台的AI辅助开发功能&#xff0c;尝试用它打造了一个智能自适应的contextmenumanager系…...

你的微信记忆银行:三分钟学会永久保存珍贵聊天记录

你的微信记忆银行&#xff1a;三分钟学会永久保存珍贵聊天记录 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMs…...

3步解锁图表数据:用计算机视觉将图像转化为结构化数据的实战秘籍

3步解锁图表数据&#xff1a;用计算机视觉将图像转化为结构化数据的实战秘籍 【免费下载链接】WebPlotDigitizer Computer vision assisted tool to extract numerical data from plot images. 项目地址: https://gitcode.com/gh_mirrors/we/WebPlotDigitizer 你是否曾面…...

市场推广需要哪些数据分析能力?渠道评估、归因和转化怎么分析

市场推广数据分析能力框架市场推广的核心在于数据驱动决策&#xff0c;掌握以下能力可显著提升推广效果。CDA数据分析师证书持证者通常在这些领域具备系统化知识。能力维度关键技能应用场景数据采集能力熟悉Google Analytics、Adobe Analytics等工具&#xff0c;掌握UTM参数设置…...

AI 编程盛行的时代,为什么 “『DC- WFW』” 仍然具有必要性?

AI训练存储选型的演进路线 第一阶段&#xff1a;单机直连时代 早期的深度学习数据集较小&#xff0c;模型训练通常在单台服务器或单张GPU卡上完成。此时直接将数据存储在训练机器的本地NVMe SSD/HDD上。 其优势在于IO延迟最低&#xff0c;吞吐量极高&#xff0c;也就是“数据离…...

网站 SEO 软件如何提高网站流量

了解网站 SEO 软件的重要性 在当今互联网时代&#xff0c;网站流量的重要性不言而喻。无论你经营的是一个电子商务网站&#xff0c;博客&#xff0c;还是企业官方网站&#xff0c;高流量意味着更多的曝光和潜在客户。如何有效地提高网站流量呢&#xff1f;这里&#xff0c;我们…...

多模态情报分析awesome-osint:文本图像视频融合处理终极指南

多模态情报分析awesome-osint&#xff1a;文本图像视频融合处理终极指南 开源情报&#xff08;OSINT&#xff09;正在经历一场革命性的变革&#xff0c;而awesome-osint项目正是这场变革的引领者。这个精心策划的资源集合汇集了最先进的多模态情报分析工具&#xff0c;让你能够…...

CA6140车床杠杆831009钻M6孔夹具设计全套带图

CA6140车床作为机械加工领域的经典设备&#xff0c;其杠杆零件&#xff08;编号831009&#xff09;的加工精度直接影响整机性能。针对该零件M6螺纹孔的加工需求&#xff0c;专用夹具的设计需兼顾定位稳定性、操作便捷性与加工经济性。通过分析零件结构可知&#xff0c;杠杆两端…...

SOONet模型Keil5开发环境模拟:探索嵌入式设备视频事件检测前瞻

SOONet模型Keil5开发环境模拟&#xff1a;探索嵌入式设备视频事件检测前瞻 最近和几个做嵌入式开发的朋友聊天&#xff0c;大家聊到一个挺有意思的话题&#xff1a;现在AI模型越做越强&#xff0c;但好像都跑在云端或者高性能计算卡上。那些我们天天打交道的单片机、微控制器&…...