상위 150개 인터뷰하드

이진 트리 최대 경로 합계

'Binary Tree Maximum Path Sum' 문제에 대한 자세한 가이드 및 Python 구현입니다.

문제 설명

하드

이진 트리의 경로는 시퀀스의 각 인접 노드 쌍이 이를 연결하는 가장자리를 갖는 일련의 노드입니다. 노드는 시퀀스에 최대 한 번만 나타날 수 있습니다. 경로는 루트를 통과할 필요가 없습니다.

경로의 경로 합계는 경로에 있는 노드 값의 합계입니다.

이진 트리의 루트가 주어지면 비어 있지 않은 경로의 최대 경로 합계를 반환합니다.

트리는 레벨 순서 목록으로 표시됩니다. maxPathSum(root: list) -> int 함수를 구현하세요.

제약
  • The number of nodes in the tree is in the range [1, 30000]
  • -1000 <= Node.val <= 1000

Example 1
Input
[1,2,3]
Output
6
Explanation

The optimal path is 2 -> 1 -> 3 with a path sum of 2 + 1 + 3 = 6.

Example 2
Input
[-10,9,20,None,None,15,7]
Output
42
Explanation

The optimal path is 15 -> 20 -> 7 with a path sum of 15 + 20 + 7 = 42.

Example 3
Input
[-3]
Output
-3
Explanation

The only path is the single node -3.

Need a Hint?
세트나 힙과 같은 트리 관련 데이터 구조를 사용해 보세요.
Edge Cases to Watch
  • 빈 입력 구조
  • 단일 요소 입력
  • 큰 수치 범위

해결할 준비가 되셨나요?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

편집기에서 열기
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.