Menu
CoddyTech

Rotate Array

整数の配列 nums と数値 k が与えられます。配列を右に k ステップ回転させます。1ステップで各値は右に1つ移動し、最後の値は先頭に回り込みます。回転後の配列を返してください。

k は配列の長さよりはるかに大きい場合があります。

関数

rotate(nums: integer-array, k: integer) → integer-array
numsinteger-array
回転させる整数の配列
kinteger
右に回転するステップ数
戻り値integer-array
nums を k ステップ右に回転

制約

  • 1 ≤ nums.length ≤ 5000
  • -104 ≤ nums[i] ≤ 104
  • 0 ≤ k ≤ 109

例

入力
nums = [4, 9, 1, 6, 3]k = 2
出力
[6, 3, 4, 9, 1]
説明
右に2つ移動すると、最後の2つの値である6と3が先頭に回ります。残りの3つの値は順序を保ったまま右に2つ移動します: [6, 3, 4, 9, 1]。
challenge icon

発展問題

各値をそのまま (i + k) mod n に移し、押し出された値をさらに次へ運ぶことで、その場で回転できますか?その場合、サイクルはいくつできますか?

コードをリセット
def rotate(nums, k):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

nums = [4, 9, 1, 6, 3]
k = 2

期待される出力

[6, 3, 4, 9, 1]