日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Leetcode 349.两个数组交集(哈希容器unordered_set)

發(fā)布時間:2024/9/27 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Leetcode 349.两个数组交集(哈希容器unordered_set) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

傳送門:??????力扣

給定兩個數(shù)組,編寫一個函數(shù)來計算它們的交集。

示例 1:

輸入:nums1 = [1,2,2,1], nums2 = [2,2]
輸出:[2]
示例 2:

輸入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
輸出:[9,4]
說明:輸出結(jié)果中的每個元素一定是唯一的。
我們可以不考慮輸出結(jié)果的順序

由說明可知,每個元素唯一,所以需要用set容器去重,unordered_set底層使用哈希表封裝,時間復(fù)雜度為O(1)。

學(xué)到的小技巧:foreach

for (int num : nums2) //迭代容器里面所有元素。
? ? ? ? //格式為 auto element : container/array

#define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> #include<vector> #include<unordered_set> using namespace std;class Solution { public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {unordered_set<int> result_set; // 存放結(jié)果unordered_set<int> nums_set(nums1.begin(), nums1.end());for (int num : nums2) {//迭代容器里面所有元素。//格式為 auto element : container/array// 發(fā)現(xiàn)nums2的元素 在nums_set里又出現(xiàn)過if (nums_set.find(num) != nums_set.end()) {//find(val)函數(shù)尋找set容器里面的元素,如果不存在元素,就返回end()//在容器中搜索與val等效的元素,如果找到則返回一個迭代器,否則返回一個迭代器set::endresult_set.insert(num);}}return vector<int>(result_set.begin(), result_set.end());} };

總結(jié)

以上是生活随笔為你收集整理的Leetcode 349.两个数组交集(哈希容器unordered_set)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。