版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/musechipin/article/details/85258532
题目描述:https://www.lintcode.com/problem/set-operation/description
不需要返回具体的交并差集,只需要返回数字即可,且数字大小有范围,可以使用hash表做。
class Solution {
public:
vector<int> getAnswer(vector<int> &A, vector<int> &B) {
int Mx = 1e6 + 10;
bool vis[Mx] = {0};
int n = A.size();
for (int i = 0; i < n; i++) {
vis[A[i]] = 1;
}
int m = B.size(), cnt = 0;
for (int i = 0; i < m; i++) {
if (vis[B[i]]) cnt++;
}
vector<int> Ans;
Ans.push_back(n + m - cnt);
Ans.push_back(cnt);
Ans.push_back(n - cnt);
return Ans;
}
};