Ctrl K

Отсортированный список со сдвигом

Лёгкая
Датчик записывает показания по кругу: исходно они шли по неубыванию, но запись могли начать читать не с начала. Иначе говоря, отсортированный список могли сдвинуть по кругу на сколько-то позиций (в том числе на ноль): несколько первых элементов перенести в конец, сохранив их порядок. Дан список readings. Верните True, если он может быть таким сдвигом отсортированного по неубыванию списка, и False иначе. Показания могут повторяться.
Пример 1
readings=[6, 8, 8, 2, 3] → True

Исходный порядок был [2, 3, 6, 8, 8]: начало списка просто перенесли в конец.

Пример 2
readings=[5, 1, 4, 2] → False

Спады есть и после 5, и после 4 — сдвигом отсортированного списка так не получить.

Пример 3
readings=[1, 2, 9] → True

Список уже отсортирован — это сдвиг на ноль позиций.

Ограничения
  • 1 ≤ len(readings) ≤ 100
  • 1 ≤ readings[i] ≤ 100
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПара с заданной суммой ЛёгкаяСжать повторы в отсортированном массиве ЛёгкаяВыкинуть лишнее значение ЛёгкаяМесто на отсортированной полке ЛёгкаяПрибавить единицу к числу из цифр Лёгкая
загружаем Python…
Вход
readings=[6, 8, 8, 2, 3]
Ожидается
True

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