Ctrl K

Собрать ряд переворотами

Лёгкая
Даны два массива одинаковой длины: goal — нужный порядок плиток и tiles — текущий. За один ход можно выбрать любой непрерывный непустой отрезок tiles и развернуть его задом наперёд. Ходов можно делать сколько угодно. Верните True, если так можно превратить tiles в goal, и False иначе.
Пример 1
goal=[5, 1, 3, 3], tiles=[3, 5, 3, 1] → True

Переворачиваем [3, 5] → [5, 3, 3, 1], затем [3, 3, 1] → [5, 1, 3, 3].

Пример 2
goal=[2, 2, 4], tiles=[2, 4, 4] → False

В tiles одна двойка, а нужно две — перевороты количество не меняют.

Пример 3
goal=[9], tiles=[9] → True
Ограничения
  • len(goal) == len(tiles)
  • 1 ≤ len(goal) ≤ 1000
  • 1 ≤ goal[i], tiles[i] ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПобедитель с большинством голосов ЛёгкаяЕсть ли повтор ЛёгкаяПотерянный билет ЛёгкаяЗначения в обоих списках ЛёгкаяОбщие значения с повторами Лёгкая
загружаем Python…
Вход
goal=[5, 1, 3, 3], tiles=[3, 5, 3, 1]
Ожидается
True

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