public classFindMaxRepeat {
private static int maxRptElmt(int[] array, int k) {
for(int i=0;i<array.length;i++) {
array[array[i]%k] += k;
}
int max = Integer.MIN_VALUE;
int index = -1;
for(int i=0;i<array.length;i++) {
if(max<array[i]) {
max = array[i];
index = i;
}
}
/* restore the original array. */
for (int i = 0; i< array.length; i++) {
array[i] = array[i]%k;
}
return index;
}
public static voidmain(String[] args) {
int[] array = {1,2,3,4,5,6,7,1,2,3,4,5,6,9,1,2,2};
int k = array.length;
int maxRpt = maxRptElmt(array, k);
System.out.println(maxRpt);
}
}
No comments:
Post a Comment