мой вывод из метода main на входящем массиве:
13, 15, 17, 8, 5
package com.javarush.task.task26.task2601;
import java.util.Arrays;
import java.util.Comparator;
/*
Почитать в инете про медиану выборки
*/
public class Solution {
public static void main(String[] args) {
}
public static Integer[] sort(Integer[] array) {
var medianArray = Arrays.copyOf(array, array.length);
Arrays.sort(medianArray);
int median;
if (array.length % 2 == 0)
median = (medianArray[medianArray.length / 2] +
medianArray[medianArray.length / 2 - 1]) / 2;
else
median = medianArray[medianArray.length / 2];
Arrays.sort(array, (Integer a, Integer b) -> {
int i = Math.abs(median - a) - Math.abs(median - b);
if (i != 0)
return i;
else return a - b;
});
return array;
}
}