5079 三个有序数组的交集 leetcode

给出三个均为 严格递增排列 的整数数组 arr1,arr2 和 arr3。

返回一个由 仅 在这三个数组中 同时出现 的整数所构成的有序数组。

示例:

输入: arr1 = [1,2,3,4,5], arr2 = [1,2,5,7,9], arr3 = [1,3,4,5,8]
输出: [1,5]
解释: 只有 1 和 5 同时在这三个数组中出现.

提示:

1 <= arr1.length, arr2.length, arr3.length <= 1000
1 <= arr1[i], arr2[i], arr3[i] <= 2000

class Solution {
public:
    vector<int> arraysIntersection(vector<int>& arr1, vector<int>& arr2, vector<int>& arr3) {
        vector<int>v;
        vector<int>r;
        for(int i=0;i<arr1.size();i++)
            v.push_back(arr1[i]);
         for(int i=0;i<arr2.size();i++)
            v.push_back(arr2[i]);
         for(int i=0;i<arr3.size();i++)
            v.push_back(arr3[i]);
        sort(begin(v),end(v));
        for(int i=1;i<v.size()-1;i++)
        {
            if((v[i]==v[i-1])&&(v[i]==v[i+1]))
            {r.push_back(v[i]);
               i++;}
        }
               return r;
    }
};

严格递增数组:每个只出现一次。

你可能感兴趣的:(LeetCode,LeetCode刷题)