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

โปรแกรมเช็คว่าทุกคนมีเพื่อนเป็นอย่างน้อยใน Python


สมมติว่าเรามี n คนที่แสดงเป็นตัวเลขตั้งแต่ 0 ถึง n - 1 เรายังมีรายชื่อ tuples ของเพื่อนด้วย โดยที่ friends[i][0] และ friends[i][1] เป็นเพื่อนกัน เราต้องตรวจสอบว่าทุกคนมีเพื่อนอย่างน้อยหนึ่งคนหรือไม่

ดังนั้นหากอินพุตเป็นเหมือน n =3 เพื่อน =[ [0, 1], [1, 2] ] ผลลัพธ์จะเป็น True เนื่องจากบุคคลที่ 0 เป็นเพื่อนของบุคคลที่ 1 บุคคลที่ 1 เป็นเพื่อนของบุคคลที่ 0 และ 2 และบุคคลที่ 2 เป็นเพื่อนของบุคคลที่ 1

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

  • คน :=รายการขนาด n เต็มไปด้วย 0
  • สำหรับแต่ละลิงก์ในเพื่อน ทำ
    • คน[link[0]] :=จริง
    • คน[link[1]] :=จริง
  • สำหรับแต่ละคนในคน ทำ
    • ถ้าคนว่างก็
      • คืนค่าเท็จ
  • คืนค่า True

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

ตัวอย่าง

class Solution:
   def solve(self, n, friends):
      people = [0 for i in range(n)]
      for link in friends:
         people[link[0]] = True
         people[link[1]] = True
      for person in people:
         if not person:
            return False
      return True
ob = Solution()
n = 3
friends = [ [0, 1], [1, 2] ]
print(ob.solve(n, friends))

อินพุต

3, [[0, 1],[1, 2]]

ผลลัพธ์

True