Menu
CoddyTech

Rotate Array

Hai un array di numeri interi nums e un numero k. Ruota l'array verso destra di k passi: a ogni passo, ogni valore si sposta di una posizione verso destra e l'ultimo valore torna in testa. Restituisci l'array ruotato.

k può essere molto più grande della lunghezza dell'array.

Funzione

rotate(nums: integer-array, k: integer) → integer-array
numsinteger-array
l'array di interi da ruotare
kinteger
quanti passi ruotare verso destra
Restituisceinteger-array
nums ruotato a destra di k posizioni

Vincoli

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

Esempi

Input
nums = [4, 9, 1, 6, 3]k = 2
Output
[6, 3, 4, 9, 1]
Spiegazione
Due passi verso destra portano in testa gli ultimi due valori, 6 e 3. Gli altri tre valori si spostano di due posizioni a destra e mantengono il loro ordine: [6, 3, 4, 9, 1].
challenge icon

Per approfondire

Puoi ruotare sul posto spostando ogni valore direttamente in (i + k) mod n e continuando con il valore che sposta? Quanti cicli si formano?

Ripristina il codice
def rotate(nums, k):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomenti

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

Output atteso

[6, 3, 4, 9, 1]