Плиз, что не так в сортировке?
package com.javarush.task.task26.task2601;
import java.util.Arrays;
import java.util.Comparator;
/*
Почитать в инете про медиану выборки
*/
public class Solution {
public static void main(String[] args) {
// Integer[] array = new Integer[]{13, 8, 15, 11, 17, 16};
// Solution.sort(array);
// for (int i = 0; i < array.length; i++) {
// System.out.println(array[i]);
// }
}
public static Integer[] sort(Integer[] array) {
Arrays.sort(array, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
double mediana = 0;
Integer[] copy = new Integer[array.length];
for (int i = 0; i < copy.length; i++) {
copy[i] = array[i];
}
Arrays.sort(copy);
if (copy.length / 2 == 1) {
mediana = copy[copy.length / 2];
}
else mediana =(double) (copy[copy.length/2] + copy[copy.length/2 - 1]) / 2;
double result = Math.abs(mediana - o1) - Math.abs(mediana - o2);
if (Math.abs(mediana - o1) == Math.abs(mediana - o2)) return o1.compareTo(o2);
return (int) Math.round(result * 100);
}
});
//implement logic here
return array;
}
}