JavaRush
AI Academy
new
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Все работает. Что не так? Подскажите пожалуйста
Денис
41 уровень
  • 17.12.2020
  • 514просмотров
  • 7комментариев

Все работает. Что не так? Подскажите пожалуйста

Вопрос по задаче Почитать в инете про медиану выборки
Java Multithreading,  6 уровень,  2 лекция
Решен


Реализуй логику метода sort, который должен сортировать данные в массиве по удаленности от его медианы.
Верни отсортированный массив от минимального расстояния до максимального.
Если удаленность одинаковая у нескольких чисел, то сортируй их в порядке возрастания.

Пример входящего массива:
13, 8, 15, 5, 17
медиана - 13

Отсортированный масив:
13, 15, 17, 8, 5

Требования:
  • Программа не должна выводить текст в консоль.
  • Программа не должна считывать данные с консоли.
  • Класс Solution должен содержать публичный статический метод Integer[] sort(Integer[] array).
  • Метод sort(Integer[] array) класса Solution должен сортировать данные в массиве по удаленности от его медианы.
....
package com.javarush.task.task26.task2601; import java.util.Arrays; import java.util.Comparator; import java.util.stream.Stream; /* Почитать в инете про медиану выборки */ public class Solution { public static void main(String[] args) { // Integer[] numbers = {13, 8, 15, 5, 17}; // System.out.println(Arrays.asList(sort(numbers))); } public static Integer[] sort(Integer[] array) { Arrays.sort(array, Comparator.comparingInt(n -> Math.abs(array[0] - n))); return array; } }
0
Комментарии (7)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia VolkovaJava Developer в DXCMaster
17 декабря 2020, 17:12
А как связаны медиана и array[0]? К примеру, для массива {17, 8, 15, 5, 13} результат должен быть точно такой же, что и для {13, 8, 15, 5, 17}
0
Денис Java Developer
18 декабря 2020, 06:44
я так понял, что за медиану мы принимаем первый элемент в массиве. Условия для выполнения задания как обычно какой-то первоклассник писал.
0
Денис Java Developer
18 декабря 2020, 06:46
Спасибо за подсказку. Сделал отдельный метод по нахождению медианы и валидатор принял. Но остался неприятный осадок от постановки задачи в условии.
0
Ksenia VolkovaJava Developer в DXCMaster
18 декабря 2020, 07:17
Можно было просто обратить внимание на название задачи. То, что медиана - это первый элемент, ни из чего не следовало.
0
Денис Java Developer
18 декабря 2020, 15:05
13, 8, 15, 5, 17 медиана - 13 - вот это меня запутало
0
Ksenia VolkovaJava Developer в DXCMaster
18 декабря 2020, 15:08
Ну потому что в этом наборе чисел медиана действительно 13. Но не потому что она первая. А если тебе раньше медиана не встречалась - ну так потому и предложили в названии про нее прочитать.
0
Денис Java Developer
18 декабря 2020, 15:54
🙂
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush