当数组长度是偶数,且某元素出现此数是数组长度一半时,不满足题目所求。
public class FrequencyOverHalf {
public int frequencyOverHalf(int[] array){
if(array == null || array.length == 0){
return -1;
}
for(int i = 0 ; i < array.length ; i++){
int temp = array[i];
int frequency = 0;
for(int j = 0 ; j < array.length ; j++){
if(array[j] == temp){
frequency++;
}
}
if(frequency > array.length / 2){
return i;
}
}
return -1;
}
public static void main(String[] args) {
int[] array = {1 , 3, 2 , 2 , 5, 4};
FrequencyOverHalf fo = new FrequencyOverHalf();
int i = fo.frequencyOverHalf(array);
if(i >= 0 && i < array.length){
System.out.println(array[i]);
}else{
System.out.println("there is no such element.");
}
}
}
本文介绍了一个名为FrequencyOverHalf的Java类,该类包含一个名为frequencyOverHalf的方法,用于找出数组中出现次数超过数组长度一半的元素。通过两次遍历数组的方式实现,首先检查数组有效性,然后计算每个元素出现的频率,最后返回频率超过一半的元素的位置。
3812

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



