我有以下程序查找数组“a”,然后输出数组中出现频率最高的值。然而,我想实现的另一个条件是,在两个不同值出现相同次数的情况下,最低值获得输出。
因此,对于以下带有数组的代码:
int a[] = {34, 34, 20, 20, 15};
它输出 34 但我希望它输出 20,因为这是一个较低的值并且在数组中出现的次数相同。
public class Arrays3 {
public static void main(String[] args){
int a[] = {34, 34, 20, 20, 15};
mode(a);
}
public static int mode(int[] a) {
int[] counts = new int[101];
int maxCount = 0;
int maxKey = 0;
for(int i = 0; i < a.length; i++) {
counts[a[i]]++;
if(counts[a[i]] > maxCount) {
maxCount = counts[a[i]];
maxKey = a[i];
}
}
System.out.println(maxKey);
return maxKey;
}
}
拉风的咖菲猫
Qyouu
慕斯709654
相关分类