0에서 n - 1 사이의 숫자로 표현된 n명의 사람이 있다고 가정하고 친구의 튜플 목록도 가지고 있습니다. 여기서 친구[i][0]와 친구[i][1]는 친구입니다. 모든 사람에게 친구가 한 명 이상 있는지 확인해야 합니다.
따라서 입력이 n =3friends =[ [0, 1], [1, 2] ]와 같으면 Person 0은 Person 1의 친구이고 Person 1은 Person 0의 친구이고 출력은 True가 됩니다. 2이고 사람 2는 사람 1의 친구입니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 사람 :=0으로 채워진 크기 n의 목록
- 친구의 각 링크에 대해 다음을 수행합니다.
- 사람[link[0]] :=사실
- 사람[link[1]] :=사실
- 사람의 각 사람에 대해 다음을 수행합니다.
- 사람이 비어 있으면
- 거짓을 반환
- 사람이 비어 있으면
- 참 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예
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