LeetCode349 求兩個陣列的交集
阿新 • • 發佈:2018-11-13
給定兩個陣列,編寫一個函式來計算它們的交集。
示例 1:
輸入: nums1 = [1,2,2,1], nums2 = [2,2]
輸出: [2]
示例 2:
輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
輸出: [9,4]
說明:
輸出結果中的每個元素一定是唯一的。
我們可以不考慮輸出結果的順序。
思路:
先找出兩個陣列的交集,再去重。
class Solution { public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { vector<int> res; set<int> tmp; tmp.insert(nums1.cbegin(),nums1.cend()); for(int i=0;i<nums2.size();++i) { if(tmp.count(nums2[i])) res.push_back(nums2[i]); } set<int> n(res.begin(), res.end()); res.assign(n.begin(), n.end()); return res; } };