Top 150 des entrevuesDifficile

Somme maximale du chemin de l'arbre binaire

Guide détaillé et implémentation de Python pour le problème 'Binary Tree Maximum Path Sum'.

Énoncé du problème

Difficile

Un chemin dans un arbre binaire est une séquence de nœuds où chaque paire de nœuds adjacents de la séquence est reliée par une arête. Un nœud ne peut apparaître qu’une seule fois dans la séquence. Notez que le chemin n’a pas besoin de passer par la racine.

La somme du chemin d'un chemin est la somme des valeurs des nœuds dans le chemin.

Étant donné la racine d'un arbre binaire, renvoie la somme maximale des chemins de tout chemin non vide.

L'arborescence est représentée sous la forme d'une liste par ordre de niveaux. Implémentez une fonction maxPathSum(root: list) -> int.

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

Exemples

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?
Pensez à utiliser des structures de données spécifiques aux arbres, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.