leetcode-547. Friend Circles
来源:互联网 发布:人工智能科技园 编辑:程序博客网 时间:2024/05/03 15:28
考察点:并查集;
出错点:
- 第一次出错在union上,重名了
- 第二次出错在在find函数中应该是i=UF【i】的,结果写反了,看来每一步代码都应该明确之后才能写出来。
C++ 代码:
class Solution {public: vector<int> UF; vector<int> size; int count; int find(int i){ while (UF[i] != i) i=UF[i]; return i; }; void union1(int i, int j){ int ii=find(i); int jj = find(j); // cout<<"i="<<i<<";j="<<j<<" ii:"<<ii<<" jj"<<jj<<endl; if (ii == jj) return; if (size[ii] <size[jj]) { UF[ii] = jj; //cout<<ii<<" "<<jj<<endl; size[jj] += size[ii]; count--; } else { UF[jj] = ii; //cout<<jj<<" "<<ii<<endl; size[ii] += size[jj]; count--; } } void init(int len) { for (int i=0; i<len; i++) { UF.push_back(i); size.push_back(1); } count = len; } int findCircleNum(vector<vector<int>>& M) { int len = M.size(); if (len == 0) return 0; init(len); for (int i=0; i<len; i++) { for (int j=i+1; j<len; j++) { if (M[i][j] == 1) { union1(i, j); } } } return count; }};
0 0
- 【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
- leetcode--547. Friend Circles
- leetcode 547. Friend Circles
- [LeetCode] 547. Friend Circles
- 输入一个日期,判断该年是否是闰年,该月处于什么季节,该月有多少天。
- plist文件的读写
- XDOJ 1208 B.笑爷买房 【DFS】
- 屏幕适配
- git错误
- leetcode-547. Friend Circles
- 算法训练 排列问题
- 建立一个类Prime,用来判断某整数是否为素数。具体要求如下:
- 操作系统--内存中的程序映像(printf函数的运算顺序)
- AndroidStudio快捷键大全
- web前端第一阶段
- mysql中的视图
- 构造函数的调用规则
- 经典算法面试题