Menu
CoddyTech

Find if Path Exists in Graph

무방향 그래프에는 n개의 노드가 있으며, 노드 번호는 0부터 n-1까지입니다. edges의 각 항목 [u, v]는 노드 u와 v를 연결하며, 간선은 어느 방향으로든 이동할 수 있습니다. 간선을 따라 source에서 destination까지 이동할 수 있으면 true를 반환하고, 그렇지 않으면 false를 반환하세요. 노드는 항상 자기 자신에게 도달할 수 있습니다.

함수

validPath(n: integer, edges: integer-2d-array, source: integer, destination: integer) → boolean
ninteger
노드의 수
edgesinteger-2d-array
각각 연결된 노드 쌍 [u, v]인 간선
sourceinteger
시작하는 노드
destinationinteger
도달하려는 노드
반환값boolean
어떤 경로가 소스와 대상을 연결하는지 여부

제약 조건

  • 2 ≤ n ≤ 104
  • 1 ≤ edges.length ≤ 5000
  • edges[i] = [u, v]이며 0 ≤ u, v ≤ n-1이고 u ≠ v
  • 어느 방향으로든 간선이 두 번 나타나지 않습니다.
  • 0 ≤ source, destination ≤ n-1

예제

입력
n = 6edges = [[0, 1], [1, 2], [2, 3], [4, 5]]source = 0destination = 3
출력
true
설명
0 → 1 → 2 → 3 경로는 간선 세 개를 사용하므로 노드 3에 도달할 수 있습니다. 노드 4와 5는 경로에서 필요하지 않은 별도의 부분을 이룹니다.

lock icon제출 시 숨은 테스트 +16개

challenge icon

후속 질문

간선이 단방향이라고 가정해 봅시다. [u, v]는 u에서 v로만 이동할 수 있게 합니다. 세 가지 접근 방식 중 어떤 것이 여전히 작동하며, 각각에서 무엇을 변경해야 할까요?

코드 초기화
def validPath(n, edges, source, destination):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

입력

n = 6
edges = [[0, 1], [1, 2], [2, 3], [4, 5]]
source = 0
destination = 3

기대값

true