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