
Description:
There are N students in a class. Some of them are friends, while some are not. Their friendship is transitive in nature. For example, if A is a direct friend of B, and B is a direct friend of C, then A is an indirect friend of C. And we defined a friend circle is a group of students who are direct or indirect friends.
Given a N*N matrix M representing the friend relationship between students in the class. If M[i][j] = 1, then the ith and jth students are direct friends with each other, otherwise not. And you have to output the total number of friend circles among all the students.
Example 1:
1 |
Input: |
Example 2:
1 |
Input: |
Note:
- N is in range [1,200].
- M[i][i] = 1 for all students.
- If M[i][j] = 1, then M[j][i] = 1.
题解:
定义一个搜索过的数组,用来标记被搜索过的数字,不用重复遍历,然后深度优先,一直向下搜索,直到边界;
每搜索一次给count++,结果就是朋友圈的个数;
Code:
1 |
class { |




近期评论