Menu
CoddyTech

Rotate Array

Kamu mendapatkan array bilangan bulat nums dan sebuah angka k. Putar array ke kanan sebanyak k langkah: dalam satu langkah, setiap nilai berpindah satu posisi ke kanan, dan nilai terakhir berpindah kembali ke posisi pertama. Kembalikan array yang sudah diputar.

k bisa jauh lebih besar daripada panjang array.

Fungsi

rotate(nums: integer-array, k: integer) → integer-array
numsinteger-array
array bilangan bulat yang akan dirotasi
kinteger
berapa banyak langkah untuk berputar ke kanan
Mengembalikaninteger-array
nums diputar ke kanan sebanyak k langkah

Batasan

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

Contoh

Input
nums = [4, 9, 1, 6, 3]k = 2
Output
[6, 3, 4, 9, 1]
Penjelasan
Dua langkah ke kanan membawa dua nilai terakhir, 6 dan 3, ke bagian depan. Tiga nilai lainnya bergeser dua tempat ke kanan dan tetap dalam urutan yang sama: [6, 3, 4, 9, 1].
challenge icon

Pertanyaan lanjutan

Bisakah kamu memutar di tempat dengan memindahkan setiap nilai langsung ke (i + k) mod n dan meneruskan nilai yang tergeser? Ada berapa siklus yang terbentuk?

Reset kode
def rotate(nums, k):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

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

Output yang diharapkan

[6, 3, 4, 9, 1]