例如,给定一个数组{2,4,2,4,3,2,3}, distinct数组是{2,3,4}。 因此,对于给定的阵列,可能有2个这样的组。另一个例子, 对于{1,2,1,3,4,4,3,3}, distinct数组是{1,2,3,4}和 从给定的数组中只能形成1个这样的组。
我的解决方案是:
int arr[] = {2,3,4,2,4,3,2};
Map<Integer, Integer> map = new HashMap<>();
for(int i = 0; i < arr.length; i++) {
int count = map.getOrDefault(arr[i], 0)+1;
map.put(arr[i], count);
}
int min = Integer.MAX_VALUE;
for(int i : map.values()) {
if(i < min) {
min = i;
}
}
System.out.println(min);
有没有办法进一步优化它?