สมมติว่าเรามีตัวเลขอาร์เรย์ และค่า 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