【英文题目】(学习英语的同时,更能理解题意哟~)
Given two arrays, write a function to compute their intersection.
Example 1:
Input: nums1 = [,,,], nums2 = [,]
Output: []
Example 2:
Input: nums1 = [,,], nums2 = [,,,,]
Output: [,]
Note:
【中文题目】
给定两个数组,编写一个函数来计算它们的交集。
示例 1:
输入: nums1 = [,,,], nums2 = [,]
输出: []
示例 2:
输入: nums1 = [,,], nums2 = [,,,,]
输出: [,]
说明:
【思路】
本题即是求两个集合的交集,python中对集合使用&运算符即可实现求交集操作。
【代码】
python版本
class Solution(object):
def intersection(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
return list(set(nums1) & set(nums2))
C++版本
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
set<int> n1(nums1.begin(), nums1.end());
set<int> n2(nums2.begin(), nums2.end());
vector<int> res;
for(auto n: n1){
if(n2.find(n) != n2.end())
res.push_back(n);
}
return res;
}
};