Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมค้นหาองค์ประกอบ ith โดยหมุน k ครั้งไปทางขวา


สมมติว่าเรามีตัวเลขอาร์เรย์ และค่า k และอีกค่าหนึ่งคือ i เราต้องหาองค์ประกอบที่ดัชนี i หลังจากหมุนองค์ประกอบของ nums จำนวน k ครั้งไปทางขวา

ดังนั้น หากอินพุตเป็น nums =[2,7,9,8,10] k =3 i =2 ผลลัพธ์จะเป็น 10 เพราะหลังจากอาร์เรย์การหมุนครั้งที่ 3 จะเป็น [9,8,10,2,7 ] ดังนั้นตอนนี้องค์ประกอบ ith จะเป็น nums[2] =10

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • สำหรับ r ในช่วง 0 ถึง k ทำ
    • ลบองค์ประกอบสุดท้ายออกจาก nums และแทรกองค์ประกอบนั้นลงใน nums ที่ตำแหน่ง 0
  • ส่งคืน nums[i]

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น

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))

อินพุต

[2,7,9,8,10] , 3, 2

ผลลัพธ์

10