主要就是使用数组+枚举法给做出来了,题也很简单,题中的大概意思就是,给你三个数组,让你求出三个数组中,至少两个数组中都出现过得数,所以说,创建一个长度为超过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;
}
}