題目
給定兩個(gè)數(shù)組 nums1 和 nums2 ,返回 它們的交集 。輸出結(jié)果中的每個(gè)元素一定是 唯一 的。我們可以 不考慮輸出結(jié)果的順序 。
示例 1:
輸入:nums1 = [1,2,2,1], nums2 = [2,2]
輸出:[2]
示例 2:
輸入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
輸出:[9,4]
解釋:[4,9] 也是可通過(guò)的
解析
這題比較簡(jiǎn)單,采用set來(lái)實(shí)現(xiàn)hash這個(gè)數(shù)據(jù)結(jié)構(gòu),unordered_set底層使用哈希表來(lái)實(shí)現(xiàn),里面存的時(shí)沒(méi)有重復(fù)的元素,所以最后不需要去重,這里值得參照的就是set集合vector容器之間可以直接使用拷貝構(gòu)造的方式來(lái)轉(zhuǎn)換。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-795303.html
代碼
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
// 用來(lái)存儲(chǔ)結(jié)果,同時(shí)可以起到去重的效果
unordered_set<int> res;
unordered_set<int> input1(nums1.begin(),nums1.end());
for(int num:nums2){
if(input1.find(num)!=input1.end()){
res.insert(num);
}
}
// 把unordered_set直接強(qiáng)轉(zhuǎn)為vector
return vector<int>(res.begin(),res.end());
}
};
結(jié)果
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-795303.html
到了這里,關(guān)于leetcode 349 兩個(gè)數(shù)組的集合的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!