1471. 集合运算

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
    }
};

猜你喜欢

转载自blog.csdn.net/musechipin/article/details/85258532