0
点赞
收藏
分享

微信扫一扫

哈希表(unordered_set应用)

程序员阿狸 2022-05-03 阅读 78

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int> res;
        unordered_set<int> nums(nums1.begin(),nums1.end());
        
        for (int n : nums2) {
            if (nums.find(n) != nums.end()) {
                res.insert(n);
            }
        }

        return vector<int>(res.begin(),res.end());
    }
};

思路:题目中说了是唯一的所以想到用集合,unordered_set是一种哈希结构,所以直接将数组nums1转换成集合的形式,去掉重复元素,然后nums的元素与其一一比对。

知识点:学会使用增强for循环,当遍历一个数组之类的结构时,若单纯的遍历整个数组,且需要数组每个元素的值是用此循环。

find函数返回的是一个迭代器,即指针类型,如果没有找到该元素,则返回末尾的一个。

举报

相关推荐

0 条评论