Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình kiểm tra xem mọi người có ít nhất một người bạn hay không bằng Python

Giả sử chúng ta có n người được biểu diễn dưới dạng số từ 0 đến n - 1, chúng ta cũng có một danh sách các bộ giá trị của bạn bè, trong đó bạn bè [i] [0] và bạn bè [i] [1] là bạn bè. Chúng tôi phải kiểm tra xem mọi người có ít nhất một người bạn hay không.

Vì vậy, nếu đầu vào là n =3 bạn =[[0, 1], [1, 2]], thì đầu ra sẽ là Đúng, vì Người 0 là bạn của Người 1, Người 1 là bạn của Người 0 và 2 và Người 2 là bạn của Người 1.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • người:=danh sách kích thước n, chứa đầy 0
  • đối với mỗi liên kết trong bạn bè, hãy thực hiện
    • people [link [0]]:=True
    • people [link [1]]:=True
  • đối với mỗi người mỗi người, hãy thực hiện
    • nếu một người trống, thì
      • trả về Sai
  • trả về True

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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))

Đầu vào

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

Đầu ra

True