Menu
CoddyTech

Rotate Array

Du erhältst ein Array aus Ganzzahlen nums und eine Zahl k. Rotiere das Array um k Schritte nach rechts: In einem Schritt rückt jeder Wert um eine Position nach rechts, und der letzte Wert wird an den Anfang verschoben. Gib das rotierte Array zurück.

k kann viel größer sein als die Länge des Arrays.

Funktion

rotate(nums: integer-array, k: integer) → integer-array
numsinteger-array
das Array von Ganzzahlen, das rotiert werden soll
kinteger
Wie viele Schritte nach rechts drehen
Gibt zurückinteger-array
nums um k Schritte nach rechts gedreht

Einschränkungen

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

Beispiele

Eingabe
nums = [4, 9, 1, 6, 3]k = 2
Ausgabe
[6, 3, 4, 9, 1]
Erklärung
Zwei Schritte nach rechts bringen die letzten beiden Werte, 6 und 3, nach vorne. Die anderen drei Werte rücken zwei Plätze nach rechts und behalten ihre Reihenfolge: [6, 3, 4, 9, 1].
challenge icon

Weiterführende Frage

Kannst du durch direktes Verschieben jedes Werts an die Position (i + k) mod n rotieren und den verdrängten Wert weitertragen? Wie viele Zyklen ergibt das?

Code zurücksetzen
def rotate(nums, k):
    # Schreibe hier den Code

Test #1

Test #2

Test #3

Argumente

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

Erwartete Ausgabe

[6, 3, 4, 9, 1]