Задача по алгоритмам Ӏ Java Syntax: 9 уровень, 11 лекция

  • 12
  • Недоступна
Вместо кубиков жители планеты Линейный Хаос дают своим детям решать задачки на сортировку. Вот вам одна из забавок маленьких упорядоченных изоморфиков, развлекитесь, как следует: после того, как пользователь введет с клавиатуры список слов (и чисел), программа должна вывести слова в возрастающем порядке, а числа — в убывающем.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (620)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Lunycat
Уровень 13, Россия
12 декабря 2021, 21:20
Потратил пару часиков, но оно того стоило)
Neonila Kravtcova
Уровень 18, Санкт-Петербург, Россия
28 ноября 2021, 21:45
Отлично ) 20 минут да с первого раза. Метод sort() составил 7 строк чистого кода. Как обычно, два цикла, один if. Никаких дополнительных массивов. Правда условие в if-е выглядит устрашающе. Пойду смотреть решение JR.
Saturn
Уровень 15, Днепр, Украина
22 октября 2021, 14:04
Тот самый случай задачи, когда понимаешь что от тебя требуется и примерно как это сделать, но окончательное решение находишь после 5+ часов прыгания с бубном. Но главное что решение осознанно, а не методом тыка.
Yakov Bashkurov
Уровень 15, Тобольск, Россия
16 октября 2021, 09:24
Очень сложная задача, решив которую получаешь очень много радости. 1. сначала я создал 4 Arraylist два списка для того, чтобы записать туда отдельно числа и строки а другие два списка для того, чтобы сохранить инфу о том, в каких именно ячейках были строки и числа 2.затем отсортировал числа Collection.sort(list, Collection.reverseOrder()) 3.затем отсортировал строки isGreaterThan() 4.затем вернул числа в те ячейки массива, где они лежали (только уже в порядке убывания) 5.затем вернул строки в те ячейки, которые занимали строки (только уже отсортированные) 6. затем я узнал, что не обязательно было выполнять пункты 4 и 5. 7. не замечаю горящий пукан, так как рад, что всё закончилось.
Дима
Уровень 16, Новая Каховка, Украина
6 октября 2021, 19:01
Может кому-то поможет, но вывод на экран не обязательно делать как в примере. Можно вывести отсортированные числа затем строки. А то я создал 2 ArrayList для чисел и строк, отсортировал при помощи sort, а потом 2 часа мучался как их так перемешать и впихнуть в array, чтоб было как в условии, а это НЕ ТРЕБУЕТСЯ!(( П.С. если будешь делать как я, то не забудь создать левацкий bollean в sort для использования метода isGreaterThan, чтоб валидатор не ругался)
Yakov Bashkurov
Уровень 15, Тобольск, Россия
16 октября 2021, 09:17
тоже так думал. но именно эта часть условия (как оказалось не обязательного) сделала задачу сложной. Но как же я блять рад, что справился...
Александр Горохов
Уровень 20, Дятьково, Россия
24 сентября 2021, 12:36
Какой же испытываешь кайф, когда видишь после этой задачи "Задача успешно прошла тестирование!" Привет, 10 уровень! Я иду! =)
Николай Ласунов
Уровень 16, Vsevolozhsk, Россия
31 августа 2021, 09:29
Изи пузырек. заводим флаг и пока не отсортировано ставим сорт в true и начинаем внутренний цикл там смотрим если число запускаем еще один цикл от текущей позиции и ищем некст число сравниваем и меняем. Если меняли сбрасываем на false.Ну и то же для строк в else никаких 3-ех массивов и хешмапов.К числам привожу только во время сравнения текущего и некс числа дальше меняю как строки
Alex V. Sokoloww
Уровень 22, нижний новгород, Россия
5 сентября 2021, 12:38
+1 тоже получилось. правда с else не зашло, сделал сначала сортировку чисел, потом прошелся по массиву сортировкой строк.
Naryuk
Уровень 11, Казахстан
26 августа 2021, 11:59
Решил! Моя проблема была в том, что я не правильно присваивал элементы обратно в массив. Расскажу как решал для начала. Я создал три списка, один со строками, другой с числами, третий булеановый список хранящий значение "исходная строка это число или нет". true - это число, false - это строка. После сортировал их, а затем присваивал значения обратно в массив. Но проблема была в том, что при итерационном for программа постоянно выходила за границы списков. Поэтому ни к чему более умному чем присваивать значения под индексом 0, а затем удалять этот самый элемент списка, я не пришёл. Надеюсь, что вы не будете как я 4 дня решать эту задачу
Максим Белоусов
Уровень 18, Москва, Россия
25 июля 2021, 12:36
Задача сложная, решается пузырьковой сортировкой. Первая задача в которой так и не смог самостоятельно нащупать решение.
Денис Измайлов Инженер- программист в CloudFactory
5 июля 2021, 11:19
Че за фигня ? :))))