[LeetCode]547. Friend Circles朋友圈数量--不相邻子图问题
2024-09-06 02:19:47
/*
思路就是遍历所有人,对于每一个人,寻找他的好友,找到好友后再找这个好友的好友
,这样深度优先遍历下去,设置一个flag记录是否已经遍历了这个人。
其实dfs真正有用的是flag这个变量,因为如果m个人最多m个朋友圈,设置后flag后,相同的朋友圈会
检测到flag就会不算数。
*/
public int findCircleNum(int[][] M) {
int m = M.length;
if (m==0) return 0;
int res = 0;
boolean[] flag = new boolean[m];
for (int i = 0; i < m; i++) {
if (dfs(i,M,flag)>0)
res++;
}
return res;
}
public int dfs(int i,int[][] M,boolean[] flag){
if (flag[i]) return 0;
flag[i] = true;
int count = 1;
for (int j = 0; j < M.length; j++) {
if (i!=j&&M[i][j]==1)
count+=dfs(j,M,flag);
}
return count;
}
最新文章
- 关于Web服务器的认识
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- 【wikioi】1217 借教室
- android XML解析器全解案例
- Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
- 类库dll引用不成功问题
- MyBatis 模糊查询
- [Swift]LeetCode647. 回文子串 | Palindromic Substrings
- 如何同时修改SharePoint帐号和AD帐号的密码 - 批量修改SharePoint Managed Account
- MySQL-记一次备份失败的排查过程
- android studio 设置安装不占用C盘
- [LeetCode] 619. Biggest Single Number_Easy tag: SQL
- echart 圆滑初始化化
- HBase源码分析之WAL
- JavaScript随机生成信用卡卡号的方法
- google中guava类库:AsyncEventBus
- Java处理正则表达式特殊字符转义 转
- 消除ADB错误“more than one device and emulator”的方法(转)
- Java集合--概述
- play-with-vim1~5
热门文章
- 论如何优雅的抛出SpringBoot注解的异常
- Django 的JsonResponse 与json
- 老猿学5G扫盲贴:中移动的5G计费架构中Nchf'服务化接口以及CHF中的AGF
- WindowsServer系统设置U盘引导及安装
- 在Centos7下docker配置自动化环境镜像(python3.7+selenium 3.11+firefox 62+geckodriver 0.21)
- 6种css3 transform图片悬停动态效果
- 认识 Cargo-Rust构建工具和包管理器
- 网络层-network layer(下):网络互连、子网掩码计算方法、Ipv4报头解析
- ThreadLocal原理记录,别被坑了!!
- Java集合源码分析(十)——TreeSet