哈哈哈,简单题我直接重拳出击。
好家伙,我特么直接好家伙。
看题:
很简单,就是输出两个数组的相同的数,也就是交集。
我就献丑了,我自己写的没怎么优化的代码:
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
set<int> n;//用来存放交集,利用set的特性,不重复性
vector<int> m;//用来返回数组
for(int i=0;i<nums1.size();i++){
//双重遍历,找到交集,这就是没优化的地方,双重循环时间复杂度太高了
for(int j=0;j<nums2.size();j++){
if(nums1[i]==nums2[j]){
n.insert(nums1[i]);
break;//找到就跳出本次循环
}
}
}
for(set<int>::iterator it=n.begin() ;it!=n.end();it++)
//遍历set,将set的数组放入vector中,便于返回
{
m.push_back(*it);
}
return m;
}
};
好家伙,挺简单的。
加了个油!