Menu
CoddyTech

Rotate Array

Otrzymujesz tablicę liczb całkowitych nums oraz liczbę k. Obróć tablicę w prawo o k kroków: w jednym kroku każda wartość przesuwa się o jedno miejsce w prawo, a ostatnia wartość zawija się na początek. Zwróć obróconą tablicę.

k może być znacznie większe niż długość tablicy.

Funkcja

rotate(nums: integer-array, k: integer) → integer-array
numsinteger-array
tablica liczb całkowitych do obrócenia
kinteger
o ile kroków obrócić w prawo
Zwracainteger-array
tablica nums przesunięta w prawo o k pozycji

Ograniczenia

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

Przykłady

Wejście
nums = [4, 9, 1, 6, 3]k = 2
Wyjście
[6, 3, 4, 9, 1]
Wyjaśnienie
Dwa kroki w prawo przenoszą dwie ostatnie wartości, 6 i 3, na początek. Pozostałe trzy wartości przesuwają się o dwa miejsca w prawo i zachowują swoją kolejność: [6, 3, 4, 9, 1].
challenge icon

Pytanie dodatkowe

Czy możesz obracać tablicę w miejscu, przenosząc każdą wartość bezpośrednio do (i + k) mod n i przenosząc dalej wartość, którą zastąpi? Ile cykli to tworzy?

Zresetuj kod
def rotate(nums, k):
    # Wpisz kod tutaj

Test #1

Test #2

Test #3

Argumenty

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

Oczekiwany wynik

[6, 3, 4, 9, 1]