Ctrl K

Сборка из обрывков

Лёгкая
Дан массив target из попарно различных чисел и набор обрывков fragments — коротких массивов. Все числа во всех обрывках вместе тоже попарно различны, а суммарная длина обрывков равна длине target. Обрывки можно выложить друг за другом в любом порядке, но переставлять числа внутри одного обрывка нельзя. Верните True, если так можно получить в точности target, и False иначе.
Пример 1
target=[7, 3, 9, 1], fragments=[[9, 1], [7, 3]] → True

Ставим сначала [7, 3], потом [9, 1].

Пример 2
target=[5, 6, 2], fragments=[[6, 5], [2]] → False

Числа те же, но внутри куска [6, 5] порядок менять нельзя, а в цели 5 идёт раньше 6.

Пример 3
target=[4, 8], fragments=[[4], [3]] → False
Ограничения
  • 1 ≤ len(fragments) ≤ len(target) ≤ 100
  • 1 ≤ len(fragments[i])
  • Сумма длин обрывков равна len(target)
  • 1 ≤ target[i], fragments[i][j] ≤ 100
  • Числа в target попарно различны; числа во всех обрывках вместе тоже попарно различны
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПара с заданной суммой ЛёгкаяПобедитель с большинством голосов ЛёгкаяЕсть ли повтор ЛёгкаяПовтор в пределах окна ЛёгкаяПотерянный билет Лёгкая
загружаем Python…
Вход
target=[7, 3, 9, 1], fragments=[[9, 1], [7, 3]]
Ожидается
True

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