class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums1 int整型vector 
     * @param nums2 int整型vector 
     * @return int整型vector
     */
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        // write code here

        //nums1值赋给uset表
        unordered_set<int> uset(nums1.begin(), nums1.end());
        vector<int>::iterator it;

        //结果uset表
        unordered_set<int> res;
        //遍历nums2序列,如果存在于uset表中,则加入res
        for(it = nums2.begin(); it != nums2.end(); it++){
           if(uset.count(*it)){
             res.insert(*it);
           }
        }
        //res拷贝到vector容器
        vector<int> r(res.begin(),res.end());
        //排序
        sort(r.begin(),r.end());
        return r;
    }
};