这道题目要判断数组中是否存在超过2次的元素,题目思路比较清晰,无非就是选择一个好用的数据结构而已,如果不想耗费空间复杂度的可以先给数组排序然后俩俩比较,如果对空间不敏感的可以直接利用set或者map,这里最好用set,因为map设计到一些初始化的操作会消耗cpu时间
import java.util.Set;
import java.util.HashSet;
public class containsDuplicate {
public static void main(String[] args) {
int[] arr = {1,2,3,1};
System.out.println(findOnly(arr));
int[] brr = {2,3,1};
System.out.println(findOnly(brr));
}
public static boolean findOnly(int[] args) {
Set<Integer> set = new HashSet();
for(int i = 0;i<args.length;i++) {
if(!set.add(args[i])) {
return true;
}
}
return false;
}
}