Le migliori 150 intervisteDifficile

Somma del percorso massimo dell'albero binario

Guida dettagliata e implementazione Python per il problema "Somma massima dei percorsi dell'albero binario".

Dichiarazione del problema

Difficile

Un percorso in un albero binario è una sequenza di nodi in cui ciascuna coppia di nodi adiacenti nella sequenza ha un arco che li collega. Un nodo può apparire nella sequenza al massimo una volta. Tieni presente che non è necessario che il percorso passi attraverso la radice.

La somma del percorso di un percorso è la somma dei valori del nodo nel percorso.

Data la radice di un albero binario, restituisce la somma massima del percorso di qualsiasi percorso non vuoto.

L'albero è rappresentato come un elenco in ordine di livello. Implementa una funzione maxPathSum(root: list) -> int.

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

Esempi

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?
Prendi in considerazione l'utilizzo di strutture dati specifiche di Trees come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

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

Apri nell'editor
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

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.