public int[] intersect(int[] nums1, int[] nums2) {
Arrays.sort(nums1);
Arrays.sort(nums2);
int len1= nums1.length;
int len2= nums2.length;
int[] arr=new int[Math.min(len1, len2)];
int index1=0,index2=0,index=0;
while(index1!=len1 && index2!=len2){
if(nums1[index1]>nums2[index2]){
index2++;
}else if(nums1[index1]<nums2[index2]){
index1++;
}else {
arr[index]=nums2[index2];
index++;
index1++;
index2++;
}
}
return Arrays.copyOfRange(arr, 0, index);
}
基于java求两个数组的交集,双指针版
最新推荐文章于 2022-12-27 02:21:23 发布