На корабле JRush прошёл многоэтапный конкурс по скоростному решению задач на массивы среди студентов 7-8 уровней. Среди 20 полуфиналистов пятеро с максимальными баллами считаются победителями. Итак, у нас есть массив с баллами полуфиналистов (баллы могут быть даже отрицательными). Выведем на экран великолепную пятёрку победителей.
Пять победителей
- 5
- Недоступна
Комментарии (261)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Aleks
30 марта, 14:18
Не проходил по данному условию "Метод sort() должен сортировать массив чисел от большего к меньшему." Ментор дал подсказку: убедись что сорт может отсортировать любое кол-во введенных данных. Вопрос, а за чем? если мы создали массив из 20 чисел. Откуда появилось дополнительное требование?
0
Maks Panteleev
23 марта, 12:56
Как же кайф когда джавараш просит заниматься тем, что НИКОГДА не пригодится)
0
Viktor Zotov
7 марта, 17:30
8 попыток из-за итерации i < 20, а не i < array.length...
0
Виктория Владимирова
25 февраля, 12:09
Метод пузырьковой сортировки в помощь. Как разберетесь, как работает код при пузырьковой сортировке от меньшого к большему, потом за минуту от большего к меньшему отсортируете.
0
Asankheya
24 февраля, 09:46
скопировали наш массив в Integer[];
Arrays.sort(....Collections.reverseOrder());
Integer[] обратно в array[].
0
Андрей
17 февраля, 15:38
Смотрим сложность задачи, условие, далее разглядываем импорт. Понимаем что хотят чтоб вспомнили старые темы. Вспоминаем и решаем ничего не добавляя в импорт.
0
VasliyD
13 февраля, 22:54
Не пойму, почему не валидирует. Вроде работает как надо. Сортирую путём поиска максимального элемента и перестановки его в начало массива с последующим сдвигом левой границы.
0
selfer IllegaArgumentException в вашей программе
14 февраля, 06:43
У тебя метод сортировки не работает. У тебя свап элементов массива безусловный, а так быть не должно.
Можешь даже проверить его вот таким способом
Он иногда не отрабатывает как надо поэтому, видимо валидацию и не проходит. 0
VasliyD
14 февраля, 07:50
Уже разобрался )) перестановку поместил по ошибке во внутренний цикл вместо внешнего. Банальная невнимательность, большинство косяков из-за неё проклятой. 🤦♂️
0
Gaziz
16 января, 17:37
понравилось решение
отрицание - сорт - отрицание.
0
Andreas
14 января, 19:34
Help me)
код работает, но ему этого мало
0
Flexo Bending Unit #3370318
31 января, 09:00
вместо тысячи строк
+4
Anonymous #2497433
3 февраля, 19:02
и я решил похожим способом, только через обычный for
и только потому, что не понял до конца как из массива получить список и наоборот - делал все по шаблону получал ошибку. забил и решил дедовским способом
+1
Даниил Александрович
5 января, 13:51
Java очень загадочный язык с виду такой могучий с кучей библиотек. Но! как только сталкиваемся с оОБЫКНОВЕННОЙй задачей. все ни методов подходящих ни решений все на уровне Си сделай сам. Причем в Си такие вещи делаются через функции а не через фантики и обертки котые в базовом знании языка не предусматривается. посмотрел решения на stackoverflow сообщество такие заковыриситые накидывает причем часто не рабочие.
Reverse в одном флаконе с sort это же элементарно в языках высокого уровня на уровне базовых функций. Java ппц такой Java.
for(int i=0; i<array.length/2;i++){
int j=array[i];
array[i] = array[array.length-1-i];
array[array.length-1-i] = j;
}
+1
selfer IllegaArgumentException в вашей программе
8 января, 11:20
Еще можно извратиться и превратить массив в лист методом asList, его уже можно развернуть методом reverse, а потом вернуть назад toArray.
+1
SEJAVASU
5 февраля, 02:40
почему в строчке for(int i=0; i<array.length/2;i++){
array.length/2 деление на 2? зачем?
0
Даниил Александрович
5 февраля, 16:48
наша задача развернуть массив. а это значит пройти ровно половину. берем самую первую и меняем ее местами с последней.
всего 5 элементов целая половина от деления на 2 - это 2 прохода...
начальный массив:
1,2,3,4,5
первый ход
5,2 3,4,1
и второй конечный:
5,4,3,2,1
магия!
это как палку повернуть на 180 градусов.
если пройти весь массив палку придется повернуть на 360 градусов это реверсия случится дважды все окажется в начальном состоянии.
на 17 уровне объяснят как это делать колекциями.
Collections.reverse(ArrayList);
удачи!
+1
SEJAVASU
27 февраля, 21:30
ооооо до 17 как до китая, только билет купить))) спасибо
0