Алгоритмы на Python

Циклический сдвиг массива в Python

Элементы, вышедшие с одного края, появляются с другого.

Что такое Циклический сдвиг массива в Python?

Элементы, вышедшие с одного края, появляются с другого.

Сдвиньте элементы на k позиций по кругу.

Когда это использовать?

  • Понимать алгоритмы и структуры данных.
  • Наблюдать каждый шаг и проверять граничные случаи.
  • Сравнивать время работы и память.

Пример кода

Запустить код →
main.py
def rotate_right(values, steps):
    if not values:
        return []
    steps %= len(values)
    return values[-steps:] + values[:-steps]

print(rotate_right([1, 2, 3, 4, 5], 2))

Ожидаемый результат

[4, 5, 1, 2, 3]

Как это работает

k нормализуется по длине, затем объединяются два среза: время и память O(n).

Измените значения и запустите программу в онлайн-компиляторе Python CodeUtility без локальной установки Python.

Практические задания

Изменяйте входные данные и проверяйте граничные случаи перед работой с большими наборами.

  1. Проверьте пустой ввод, один элемент и дубликаты.
  2. Выводите состояние после каждого шага.
  3. Сравните производительность с другим решением.
Запустить в Python IDE →