Проверка на упорядоченность

  • 5
  • Недоступна
Иерархия — первый страж порядка и боевое оружие диктатуры. О диктатуре подумаем позже, а пока составим список из 10 слов. Введём их с клавиатуры. Наша задача состоит в том, чтобы проверить, является ли список упорядоченным по возрастанию длины строки. Если нет, выводим на экран номер первого элемента, нарушающего такую упорядоченность.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (535)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Andrey Panchenko
Уровень 20, Краснодар, Россия
18 июля, 20:49
Моё решение выдаёт правильный ответ (проводил разные тесты по всем условиям задачи), но валидацию не проходит. Почему? for (int i = 1; i < 10; i++) { if (strings.get(i).length() != strings.get(i-1).length() + 1) { System.out.println(i); break; } }
Naryuk
Уровень 11, Казахстан
15 августа, 13:01
!= в данном случае означает и то, что длинна меньше, и что длинна больше, чем strings.get(i-1).length() + 1 т.к. необязательно чтобы разница составляла единицу. Думаю если изменить != на <, то валидация будет пройдена.
Konstanto90
Уровень 10
8 июля, 23:37
Кек, читаем условие внимательнее, 2 попытки потратил из-за того что не внимательно прочитал. Вот пример (в скобках будет указан индекс элемента): (0) Муму (1) Кошка (2) Собака (3) Лисичка (4) Кот (5) Сова (6) Бегемот (7) Ёж (8) Креветка (9) Коала Упорядоченность списка нарушает "Кот" под индексом (4), соответственно этот индекс и надо вывести на экран. Я использовал оператор break, чтобы выйти из цикла и остановить программу, а также list.get(i).length(), чтобы получить длину элемента по индексу в списке. Лайк, если помог, успешного обучения!
Ольга Пронина
Уровень 8, Москва
3 сентября, 07:31
Спасибо большое, вот совсем по-другому задание поняла и совсем другое решение получилось....
Gonsalez
Уровень 7
5 июля, 17:39
Вот обидно, что пишешь, как тебе, кажется заумный код, в IDEA все работает, а валидацию не проходит, а потом оказывается, что ты снова не до конца понял условие и делал не совсем то, что от тебя требуют
6 июля, 10:06
условие и правда не понятное
Павел Кекух Разливайка в Розливуха
24 мая, 16:27
Иногда, нужно взять паузу и сделать шаг назад. Теперь все решается в разы проще. Не является индивидуальной учебной рекомендацией. 🙃
Trjam
Уровень 11, Москва
16 мая, 12:36
Основное:
list.get(i).length() < list.get(i-1).length()
Alexander G.
Уровень 22, Москва, Россия
13 мая, 06:42
решил с 12го раза!!!! Засчитался ответ только после того, как переписал всё с нуля :( Решение давало правильный результат по предложенным входным данным, но система не принимала ответ...
Simpson
Уровень 10, Белгород, Россия
28 апреля, 06:29
такое решение int b = a.length(); if(b >= c) c = b; где c = 0; я надеюсь сюда заходят когда совсем труба. не зотелось бы оказывать кому то медвежью услугу.
Daniil Nikityuk
Уровень 24, Санкт-Петербург
25 апреля, 19:47
Сидел и не мог понять в чем проблема минут 20. Оказалось что вместо индекса i, я выводил строку i. Н - невнимательность.
ok
Уровень 8, Санкт-Петербург
26 апреля, 10:03
Спасибо!))
Simpson
Уровень 10, Белгород, Россия
28 апреля, 06:24
та же фигня.
Lealar
Уровень 23, Москва, Россия
17 апреля, 14:29
Боги, это первая задача которую я решил с 2+ попытки (мне потребовалось 11!!! я уже начал гадать какой индекс ему нужен) так и не понял почему не проходил такой же ответ когда я инициализировал переменную i = 1; после этой задачи у меня появились седые волосы)
Андрей
Уровень 20, Минск, Беларусь
16 апреля, 17:57
не забывайте про break, как я, пожалуйста
Валерий
Уровень 16
20 апреля, 09:55
не ты один))
Alexander G.
Уровень 22, Москва, Россия
12 мая, 18:37
+