Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình tìm phần tử thứ i sau khi xoay k lần sang phải


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