51,411
社区成员
发帖
与我相关
我的任务
分享
import java.util.*;
import java.util.Arrays;
class Solution {
public int[] intersect(int[] nums1, int[] nums2) {
Arrays.sort(nums1);
Arrays.sort(nums2);
if(nums1.length>nums2.length){
return intersection(nums1,nums2);
}
else{
return intersection(nums2,nums1);
}
}
public int[] intersection(int [] nums1,int [] nums2){
int len1=nums1.length;
int len2=nums2.length;
ArrayList result=new ArrayList();
int i=0,j=0;
while(i<len1){
if(j==len2)
break;
while(nums1[i]<nums2[j]){
i++;
if(i==len1)
break;
}
if(i==len1)
break;
if(nums1[i]==nums2[j]){
result.add(nums2[j]);
i++;
j++;
}
}
int len3=result.size();
int []a=new int[len3];
int q=0;
for(Object k:result){
int p=(int)k;
a[q]=p;
q++;
}
return a;
}
}
