[LeetCode]547. Friend Circles朋友圈数量--不相邻子图问题
生活随笔
收集整理的這篇文章主要介紹了
[LeetCode]547. Friend Circles朋友圈数量--不相邻子图问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
/*思路就是遍歷所有人,對于每一個人,尋找他的好友,找到好友后再找這個好友的好友,這樣深度優(yōu)先遍歷下去,設置一個flag記錄是否已經(jīng)遍歷了這個人。其實dfs真正有用的是flag這個變量,因為如果m個人最多m個朋友圈,設置后flag后,相同的朋友圈會檢測到flag就會不算數(shù)。*/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;}
?
轉(zhuǎn)載于:https://www.cnblogs.com/stAr-1/p/8464160.html
總結(jié)
以上是生活随笔為你收集整理的[LeetCode]547. Friend Circles朋友圈数量--不相邻子图问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: webpack 3 零基础入门教程 #4
- 下一篇: 【QuotationTool】主要数据结