(并查集的应用)LeetCode#547. Friend Circles
来源:互联网 发布:php class unset 编辑:程序博客网 时间:2024/06/04 19:44
- 题目:一个二维数组m*m,表示m个人的某两个人是否具有朋友关系,通过直接或间接联系,将人划分为不同的圈子,求最终圈子数
- 难度:Medium
- 思路:根据题意,这一题可以用Union-Find进行解题。
- 代码:
public class Solution { public int findCircleNum(int[][] M) { if(M == null || M.length == 0){ return 0; } int len = M.length; int count = len; int[] id = new int[len]; //初始化,将每一个人都划分为一个圈子 for(int i = 0; i < len; i++){ id[i] = i; } //合并 for(int i = 0; i < len; i++){ for(int j = 0; j < len; j++){ if(i != j){ if(id[i] != id[j]){ if(M[i][j] == 1){ int pid = id[i];//查找 int qid = id[j]; //这一层for循环用于更新小组编号 for(int k = 0; k < len; k++){ if(id[k] == pid){ id[k] = qid; } } count--; } } } } } return count; }}
阅读全文
0 0
- (并查集的应用)LeetCode#547. Friend Circles
- leetcode 547. Friend Circles并查集
- 547. Friend Circles(并查集)
- 【启发】leetcode -- 547. Friend Circles【并查集 + 集合标识更新的时机】
- LeetCode 547 Friend Circles(并查集)
- 【LeetCode】547. Friend Circles
- leetcode 547. Friend Circles
- leetcode 547. Friend Circles
- leetcode-547. Friend Circles
- LeetCode 547. Friend Circles
- #leetcode#547. Friend Circles
- leetcode 547. Friend Circles
- LeetCode 547. Friend Circles
- Leetcode 547. Friend Circles
- [leetcode]547. Friend Circles
- [LeetCode]547. Friend Circles
- leetcode 547. Friend Circles
- [LeetCode] 547. Friend Circles
- 算法——字符串匹配之Rabin-Karp
- debian之网易云音乐的安装
- 设计模式
- 用户在线、离线、忙碌功能设计与实现
- ZOJ 1489 HDU1395 2^x mod n = 1 数学
- (并查集的应用)LeetCode#547. Friend Circles
- 进程和线程的关系以及区别
- [SMOJ2166]数列的和
- env, set, export 命令的区别
- css中word-break:break-all和word-wrap:break-word的区别
- Linux中DNS配置
- 【HDU1698】区段更新
- 微信小程序的登陆流程详解
- unix shell 变量的分类