Cho n người (0 đến n-1) và danh sách cặp bạn bè friends. Kiểm tra xem mọi người có ít nhất một người bạn hay không.
Ví dụ: n = 3, friends = [[0,1], [1,2]] → True.
Quy trình giải quyết
- Tạo mảng
peoplekích thướcnkhởi tạo 0. - Với mỗi cặp
[u, v]trongfriends, đặtpeople[u] = people[v] = True. - Nếu có phần tử nào trong
peoplevẫn là 0 (False), trả vềFalse. - Ngược lại trả về
True.
Ví dụ mã nguồn
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)) # Output: True
Đầu vào
3, [[0, 1], [1, 2]]
Đầu ra
True