letecode [349] - Intersection of Two Arrays
Posted lpomeloz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了letecode [349] - Intersection of Two Arrays相关的知识,希望对你有一定的参考价值。
Given two arrays, write a function to compute their intersection.
Example 1:
Input: nums1 = [1,2,2,1], nums2 = [2,2]
Output: [2]
Example 2:
Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
Output: [9,4]
Note:
- Each element in the result must be unique.
- The result can be in any order.
题目大意:
给定两个数组,求他们的交集。
理 解:
用set存放数组1不重复的元素。遍历数组2,若当前元素在集合set中,则放入交集,并从set中删除该元素。
代 码 C++:
class Solution public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) vector<int> res; if(nums1.size()==0 || nums2.size()==0) return res; set<int> m_set; for(int v1:nums1) m_set.insert(v1); for(int v2:nums2) if(m_set.find(v2)!=m_set.end()) res.push_back(v2); m_set.erase(v2); return res; ;
运行结果:
执行用时 :12 ms, 在所有 C++ 提交中击败了93.04%的用户
内存消耗 :9.3 MB, 在所有 C++ 提交中击败了61.95%的用户
以上是关于letecode [349] - Intersection of Two Arrays的主要内容,如果未能解决你的问题,请参考以下文章
letecode [136] - Single Number
letecode [409] - Longest Palindrome