יול.09

MPS - Max Path Sum - נתיב של סכום מקסימלי

MPS - Max Path Sum - נתיב של סכום מקסימלי

נותנים עץ בינארי - יש למצוא נתיב של סכום מקסימלי

  1. public static int MaxPathSum(BinaryTree tree) {
  2. int maxPath = Int32.MinValue;
  3. calculate(ref maxPath, tree);
  4. return maxPath;
  5. }
  6. private static int calculate(ref int maxPath, BinaryTree node) {
  7. if (node == null) return 0;
  8. int leftPath = Math.Max(calculate(ref maxPath, node.left), 0);
  9. int rightPath = Math.Max(calculate(ref maxPath, node.right), 0);
  10. maxPath = Math.Max(maxPath, leftPath + rightPath + node.value);
  11. return node.value + Math.Max(leftPath, rightPath);
  12. }


תגיות:
שתף את הסיפור הזה:

תגובות(0)

השאירו תגובה

קפטצ'ה לא מתאימה

תגובה