题目描述:
给定两个数组,编写一个函数来计算它们的交集。
示例 :
输入: nums1 = [,,,], nums2 = [,]
输出: [,] 示例 :
输入: nums1 = [,,], nums2 = [,,,,]
输出: [,]
分析:先对两个数组进行排序,然后按顺序查找
class Solution {
public int[] intersect(int[] nums1, int[] nums2) {
Arrays.sort(nums1);
Arrays.sort(nums2);
int[] t=null;
if(nums1.length<=nums2.length){
t=new int[nums1.length];
}
else
t=new int[nums2.length];
int i=0,j=0,index=0;
while(i<nums1.length&&j<nums2.length){
if(nums1[i]<nums2[j])
i++;
else{
if(nums1[i]>nums2[j])
j++;
else{
t[index++]=nums1[i];
i++;j++;
}
}
}
return Arrays.copyOf(t,index);
}
}