1514. 최대 확률의 경로
난이도:보통
주제:배열, 그래프, 힙(우선순위 대기열), 최단 경로
n개 노드(0-인덱스)의 무방향 가중치 그래프가 제공됩니다. 이는 간선 목록으로 표시됩니다. 여기서 edge[i] = [a, b]는 통과 성공 확률로 노드 a와 b를 연결하는 무방향 간선입니다. 그 가장자리 succProb[i].
두 개의 노드 시작과 끝이 주어지면 처음부터 끝까지 이동하여성공 확률.
으로 돌아가는 최대 성공 확률이 있는 경로를 찾습니다.처음부터 끝까지 경로가 없으면0을 반환합니다. 귀하의 답변은 정답과 최대1e-5
.만큼 다를 경우 승인됩니다.예 1:
예 2:
예 3:
제약조건:
힌트:
해결책:
Dijkstra 알고리즘의 수정된 버전을 사용할 수 있습니다. 최단 경로를 찾는 것이 아니라 성공 확률을 극대화하게 됩니다.이 솔루션을 PHP로 구현해 보겠습니다:1514. 최대 확률의 경로
그래프 표현
: 그래프는 각 노드가 이웃을 가리키는 인접 목록과 이를 연결하는 가장자리의 성공 확률로 표현됩니다.최대 확률 배열
: 배열 maxProb는 시작 노드에서 각 노드에 도달할 최대 확률을 저장하는 데 사용됩니다.Priority Queue
: 최대 힙(SplPriorityQueue)은 확률이 가장 높은 경로를 먼저 탐색하는 데 사용됩니다. 이는 대상 노드에 도달했을 때 최대 확률로 경로를 찾았는지 확인하는 데 중요합니다.알고리즘
:
제공된 예:
으아아아
출력은 0.25가 됩니다. 이 접근 방식은 확률 계산의 세부 사항을 처리하면서 Dijkstra 알고리즘을 사용하는 효율적인 솔루션을 보장합니다.연락처 링크
이 시리즈가 도움이 되었다면 GitHub에서저장소
에 별표를 표시하거나 즐겨찾는 소셜 네트워크에서 게시물을 공유해 보세요. 당신의 지원은 나에게 큰 의미가 될 것입니다! 이렇게 더 유용한 콘텐츠를 원하시면 저를 팔로우해주세요:위 내용은 최대 확률의 경로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!