Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm phần tử thứ i bằng cách xoay sang phải k lần

Giả sử chúng ta có một số mảng, một giá trị k và một giá trị i khác. Chúng ta phải tìm phần tử ở chỉ số i sau khi xoay các phần tử có số, k số 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 mảng xoay thứ 3 sẽ là [9,8,10,2,7 ], vì vậy bây giờ phần tử thứ i sẽ là nums [2] =10.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • đối với r trong phạm vi từ 0 đến k, thực hiện
    • xóa phần tử cuối cùng khỏi nums và chèn phần tử đã xóa đó vào nums ở vị trí 0
  • trả về số [i]

Ví dụ

Hãy cùng chúng tôi xem cách 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