Перестановочка подоспела

  • 10
  • Недоступна
Игры со списками — лучшее времяпрепровождение! Реклама так себе получается? Пожалуй, лучшая реклама средства языка программирования — его частое применение. Рекламируем списки, решая задачу: задаем числа m и n, печатаем n строк и заполняем ими список. После этого совершаем незатейливую манипуляцию: переставляем m первых строк в конец списка
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (366)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
yur777
Уровень 9
11 июня, 04:23
Сначала слово копируется в конец списка. Затем оно удаляется. Новое слово опять будет на 0 позиции. int count = M; while(count > 0){ list.add(list.get(0)); list.remove(0); count--; }
Misha-nia
Уровень 14, Wrocław
8 июня, 07:13


if(i >= M) { list.add(i-M, reader.readLine()); }


Misha-nia
Уровень 14, Wrocław
8 июня, 07:04
Почему не принимает решения с LinkedList ?!
Павел Соловьёв докер - механизатор в Порт
26 апреля, 04:25
а в условии всегда было примечание про второй цикл ?) 4 попытки пробить головой стену
528
Уровень 14
22 апреля, 16:44
всем привет! так намучался с предыдущей задачей (проверка на упорядоченность), что походу изучил тему в совершенстве (про в совершенстве *шутка*, но всё же чуть-чуть разобрался) и вот решил похвастаться очень простым решением этой задачки в два цикла. первым сразу расставляем элементы на нужные места if (i < m) - смело записываем их в массив, else - записываем их так strings.add(i - m, reader.readLine()); вторым (можно foreach) построчно выводим результат верификатор одобрил 👍 пошёл читать про rotate о котором все писали ниже всем удачи в обучении!)
Антон
Уровень 8, Томск, Россия
2 ноября 2021, 12:55
кто подскажет, почему компилятор добавляет 7 строк вместо 8? for(int i = 0; i < N; i++){ String a = scanner.nextLine(); b.add(a); }
Alexander Minaev
Уровень 10, Великие Луки, Россия
22 января, 12:34
0,1,2,3,4,5,6,7 - 8 строк
Евгений N
Уровень 12
7 апреля, 13:21
а если N == 10 ??
SK
Уровень 15, Москва
23 октября 2021, 12:26
Еще 1 способ решения через метод subList в 2 строки:
list.addAll(list.subList(0, m));
list.subList(0, m).clear();
Alexander Minaev
Уровень 10, Великие Луки, Россия
22 января, 12:38
а разве не надо m+1? вроде как, метод работает не включительно с введенным числом, то есть, если m=3, то выведет 0,1,2, а не 0,1,2,3 Upd: проверил, не надо +1. Наверное, это относится только, если создавать ArrayList<String> sublist =list.subList(0,10)
Тимур
Уровень 10, Харьков
9 февраля, 18:28
Круто, спасибо
Admin QA Engineer
22 сентября 2021, 14:11
В который раз замечаю, что задачи уровня medium сложнее чем hard.
Alexx Dorofeev
Уровень 10, Санкт-Петербург
7 июня 2021, 13:28
Совет всем начинающим, как и я. Прим рисуйте на листочек массив, и проходите по алгоритму, закодить уже дело не хитрое :)
Ivan Tregubov
Уровень 8, Россия
17 мая 2021, 00:59
Задача очень простая. Три цикла for() и готово.
Dffay
Уровень 9
22 февраля, 12:18
Точно, тоже решил через 3 цикла for)))