During QA validation of AMD ROCm workloads, latency samples may need to be aligned with a shifted execution window. Given an array of integers, rotate the array to the right by k positions in place and return the modified array.
Implement rotate(nums, k), where nums is a mutable list of integers and k is a non-negative integer. A right rotation moves the last element to the front, repeating this operation k times. The function must modify nums directly and may return the same list for convenient testing.
Example 1:
Input: nums = [1, 2, 3, 4, 5, 6, 7], k = 3
Output: [5, 6, 7, 1, 2, 3, 4]
The final three elements move to the beginning while their relative order remains unchanged.
Example 2:
Input: nums = [-1, -100, 3, 99], k = 2
Output: [3, 99, -1, -100]
Two rotations move [3, 99] before the original first two elements.
def rotate(nums, k):