Ctrl K

Снимаем карточки с конца

Лёгкая
Карточки с номерами лежат в ряд — это массив stack. За один ход можно забрать только последнюю карточку ряда. Нужно собрать у себя все номера от 1 до need (каждый хотя бы по разу). Какое наименьшее число ходов для этого потребуется? Лишние карточки, которые попались по пути, тоже приходится забирать — они просто не мешают.
Пример 1
stack=[4, 2, 3, 1, 4], need=2 → 4

Снимаем с конца: 4, 1, 3, 2. После четвёртого хода у нас есть и 1, и 2.

Пример 2
stack=[1, 3, 2], need=3 → 3

Чтобы собрать 1, 2 и 3, придётся снять все три карточки.

Пример 3
stack=[2, 2, 1], need=1 → 1
Ограничения
  • 1 ≤ len(stack) ≤ 50
  • 1 ≤ stack[i] ≤ len(stack)
  • 1 ≤ need ≤ len(stack)
  • Каждый номер от 1 до need встречается в stack
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПотерянный билет ЛёгкаяДвойная бирка и пропавшая ЛёгкаяСлова с рабочих клавиш ЛёгкаяХотя бы в двух списках ЛёгкаяНоски по парам Лёгкая
загружаем Python…
Вход
stack=[4, 2, 3, 1, 4], need=2
Ожидается
4

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 94 теста на сервере, включая скрытые.