代码如下,请各位大神指教:
#include
#include
#include
using namespace std;
class Solution {
public:
/**
* @param nums1 an integer array
* @param nums2 an integer array
* @return an integer array
*/
vector intersection(vector& nums1, vector& nums2) {
// Write your code here
sort(nums1.begin(),nums1.end());
sort(nums2.begin(),nums2.end());//对两个数组进行排序
vector output;
int len1=nums1.size();
int len2=nums2.size();
int i,j;//设置参数
for(i=0;inums2[j])
j++;//如果第二组数组元素小于第二组元素时,将第二个数组的元素加一
else if(nums1[i]==nums2[j])
{
output.push_back(nums1[i]);
i++;
j++;//如果第一组数组元素等于第二组元素时,分别将两个数组各自的元素加一
}
}
return output;
}
};
void main()
{
Solution test;
vector nums1;
vector nums2;
vector output;
int c1,c2;
cout<<"请输入第一串整数数组,彼此间用空格分开"<>c1)
{
nums1.push_back(c1);
if(cin.get()=='\n')
break;
}
cout<<"请输入第二串整数数组,彼此间用空格分开"<>c2)
{
nums2.push_back(c2);
if(cin.get()=='\n')
break;
}
output=test.intersection(nums1,nums2);
vector::iterator it;
cout<<"数组的交集如下显示:"<