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
- nếu một người trống, thì
- 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