150 najlepszych wywiadówCiężko

Maksymalna suma ścieżek drzewa binarnego

Szczegółowy przewodnik i implementacja Python dla problemu „Maksymalna suma ścieżek drzewa binarnego”.

Oświadczenie o problemie

Ciężko

Ścieżka w drzewie binarnym to sekwencja węzłów, w której każda para sąsiadujących ze sobą węzłów w sekwencji ma łączącą je krawędź. Węzeł może pojawić się w sekwencji najwyżej raz. Pamiętaj, że ścieżka nie musi przechodzić przez korzeń.

Suma ścieżki ścieżki to suma wartości węzła na ścieżce.

Biorąc pod uwagę korzeń drzewa binarnego, zwróć maksymalną sumę ścieżek dowolnej niepustej ścieżki.

Drzewo jest reprezentowane jako lista poziomów. Zaimplementuj funkcję maxPathSum(root: list) -> int.

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

Przykłady

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?
Rozważ użycie struktur danych specyficznych dla drzew, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

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

Otwórz w Edytorze
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

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.