สมมติว่าเรามีอาร์เรย์ A ของจำนวนเต็มเฉพาะที่เรียงลำดับจากน้อยไปหามาก เราต้องคืนค่าดัชนีที่เล็กที่สุด i ที่ตรงกับ A[i] ==i ส่งคืน -1 หากไม่มีฉันอยู่ ดังนั้นหากอาร์เรย์เป็นเหมือน [-10,-5,0,3,7] ผลลัพธ์จะเป็น 3 เนื่องจาก A[3] =3 เอาต์พุตจะเป็น 3
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- สำหรับฉันในช่วง 0 ถึงความยาวของ A
- ถ้า i =A[i] ให้คืนค่า i
- คืน -1
ตัวอย่าง(Python)
ให้เราดูการใช้งานต่อไปนี้เพื่อทำความเข้าใจ −
class Solution(object): def fixedPoint(self, A): for i in range(len(A)): if i == A[i]: return i return -1 ob1 = Solution() print(ob1.fixedPoint([-10,-5,0,3,7]))
อินพุต
[-10,-5,0,3,7]
ผลลัพธ์
3