主要就是使用数组+枚举法给做出来了,题也很简单,题中的大概意思就是,给你三个数组,让你求出三个数组中,至少两个数组中都出现过得数,所以说,创建一个长度为超过100的数组,凡是在一个数组中出现的数,则对应下标的设为1,创建三个数组即可,在用if语句,如果对应的超过1次,则添加到list中
代码如下:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main{
public List<Integer> twoOutOfThree(int[] nums1, int[] nums2, int[] nums3) {
List<Integer> list = new ArrayList<>();
int[] a = get(nums1),b = get(nums2),c = get(nums3);
int[] arr = new int[101];
for (int i = 0; i < 101; i++) {
if (a[i]+b[i]+c[i] > 1)
list.add(i);
}
return list;
}
public int[] get(int[] s){
int[] a = new int[101];
for(int i : s){
a[i] = 1;
}
return a;
}
}
本文介绍了一种利用数组和枚举法解决寻找三个整数数组中至少出现两次的元素的问题。通过创建辅助数组记录每个数组中元素的存在状态,并最终找出符合条件的元素。
825

被折叠的 条评论
为什么被折叠?



