class Solution {
public int[] intersect(int[] nums1, int[] nums2) {
//最外围循环
int[] minSize = null;
//内围循环
int[] maxSize = null;
//确保最外围循环次数最少,减少总体循环次数
if(nums1.length > nums2.length){
minSize = nums2;
maxSize = nums1;
}else{
minSize = nums1;
maxSize = nums2;
}
//将内围数据转换成list,方便移除
List<Integer> list = new ArrayList<>();
for(int z=0; z<maxSize.length; z++){
list.add(maxSize[z]);
}
//用于记录交集数据
List<Integer> numsList = new ArrayList<>();
//循环开始
for(int i=0; i< minSize.length; i++){
for(int j=0; j<list.size(); j++){
if(minSize[i] == list.get(j)){
numsList.add(minSize[i]);
list.remove(j);
break;
}
}
}
//将list转换成int[]
int[] nums = new int[numsList.size()];
for(int z=0; z<numsList.size(); z++){
nums[z] = numsList.get(z);
}
return nums;
}
}
在java中,如何获取两个数组的交集
最新推荐文章于 2024-05-20 17:41:15 发布