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を長さで正規化して2つのスライスを結合します。時間・メモリともO(n)です。

値を変更し、PythonをインストールせずにCodeUtilityオンラインPythonコンパイラで実行できます。

練習問題

入力値と境界ケースを変更し、より大きなデータでも動作を確認してください。

  1. 空入力、1要素、重複値を試す。
  2. 各ステップの状態を表示する。
  3. 別の解法と性能を比較する。
Python IDEで実行 →