美文网首页
LeetCode*349. Intersection of Tw

LeetCode*349. Intersection of Tw

作者: _Xie_ | 来源:发表于2017-07-19 18:28 被阅读0次

    LeetCode题目链接

    注意:凡是以英文出现的,都是题目提供的,包括答案代码里的前几行。

    题目:

    Given two arrays, write a function to compute their intersection.

    Example:
    Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2].

    Note:

    • Each element in the result must be unique.
    • The result can be in any order.

    解析:

    利用set内元素不唯一的特性,可以保证最终元素不会重复。
    第一次遍历nums1,将所有元素插入sets1。第二次遍历时,如果元素在s1中出现,则将元素插入到sets2中。最后将结果添加到vector中。

    答案:

    class Solution {
    public:
        vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
            set<int> s1, s2;
            for ( int i = 0; i < nums1.size(); i++) {
                s1.insert(nums1[i]);
            }
            
            for ( int i = 0; i < nums2.size(); i++) {
                if( s1.find(nums2[i]) != s1.end() ) {
                    s2.insert(nums2[i]);
                }
            }
            
            vector<int> v;
            for (set<int>::iterator it = s2.begin(); it != s2.end(); it++) {
                v.push_back(*it);
            }
            return v;
        }
    };
    

    相关文章

      网友评论

          本文标题:LeetCode*349. Intersection of Tw

          本文链接:https://www.haomeiwen.com/subject/fxqrkxtx.html