leetcode 349 两个数组的交集
class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {unordered_set<int> result_set;//存放结果,用set的目的是为了去重unordered_set<int> nums_set(nums1.begin(), nums1.end());//将nums1内的元素去重放入nums_set中for(int num : nums2){if(nums_set.find(num) != nums_set.end())//如果nums_set中存在num,会返回num的下标,如果不存在,会返回nums_set.end(),所以这句是判断若是存在num元素,就执行下一步result_set.insert(num);//将num存入result_set中}return vector<int>(result_set.begin(), result_set.end());//将set转化为vector输出}
};
因为题目要求输出结果中每个元素是唯一的,所以可以使用set来存储结构
本题学习到的知识:若是存在num,则返回下标,若是不存在,则返回一个特殊的迭代器num_set.end()
nums_set.find(num)