当数组长度是偶数,且某元素出现此数是数组长度一半时,不满足题目所求。
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.");
}
}
}