fork download
  1. class Solution:
  2. def rotateArray(self, nums, k):
  3. n = len(nums)
  4. k = k % n # Normalize k to handle k > n
  5. if k == 0:
  6. return
  7.  
  8. def reverse(start, end):
  9. while start < end:
  10. nums[start], nums[end] = nums[end], nums[start]
  11. start += 1
  12. end -= 1
  13.  
  14. # Step 1: Reverse the entire array
  15. reverse(0, n-1)
  16. # Step 2: Reverse the first k elements
  17. reverse(0, k-1)
  18. # Step 3: Reverse the last n-k elements
  19. reverse(k, n-1)
Success #stdin #stdout 0.11s 14168KB
stdin
45
stdout
Standard output is empty