Giả sử chúng ta có một mảng nums, một giá trị k và một giá trị i khác. Chúng ta phải tìm phần tử tại chỉ số i sau khi xoay các phần tử của nums, k lần sang phải.
Vì vậy, nếu đầu vào là nums = [2,7,9,8,10] k = 3 i = 2, thì đầu ra sẽ là 10 vì sau lần xoay thứ 3 mảng sẽ là [9,8,10,2,7], nên phần tử thứ i sẽ là nums[2] = 10.
Để giải quyết vấn đề này, chúng ta sẽ làm theo các bước sau:
- với r từ 0 đến k, thực hiện
- xóa phần tử cuối cùng của nums và chèn phần tử đã xóa vào nums tại vị trí 0
- trả về nums[i]
Ví dụ
Hãy xem triển khai sau để hiểu rõ hơn:
def solve(nums, k, i):
for r in range(k):
nums.insert(0, nums.pop())
return nums[i]
nums = [2,7,9,8,10]
k = 3
i = 2
print(solve(nums, k, i))
Đầu vào
[2,7,9,8,10] , 3, 2
Đầu ra
10