349. 两个数组的交集

class Solution {
public:
    // 计算两个数组的交集
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int> resultSet; // 用于存储结果集的集合
        int presenceArray[1005] = {0}; // 使用数组记录nums1中数字的出现,数组初始化为0

        // 遍历nums1,标记出现过的数字
        for (int number : nums1) {
            presenceArray[number] = 1; // 标记数字出现过
        }

        // 遍历nums2,检查每个数字是否在nums1中出现过
        for (int number : nums2) {
            if (presenceArray[number] == 1) {
                resultSet.insert(number); // 如果在nums1中出现过,加入结果集
                presenceArray[number] = 0; // 避免重复添加到结果集中
            }
        }

        // 将结果集转换为vector并返回
        return vector<int>(resultSet.begin(), resultSet.end());
    }
};