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

จุดคงที่ใน Python


สมมติว่าเรามีอาร์เรย์ 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