今際の国の呵呵君
Sunday, November 26, 2017
[LeetCode]Binary Tree Maximum Path Sum
就是
Max Subarray
和树形DP的结合,当然这道题树已经建好了我们就不需要考虑树形DP中麻烦的建树问题。我们每次去当前node n的左子树和右子树中寻找和最大的以n结尾的path,用localMax[n]表示,我们有递推公式:
localMax[n] = max(localMax[n->left] + n->val, localMax[n->right] + n ->val, n->val)
根据左子树和右子树分别return回来的path,我们不断更新最大的Path Sum,时间复杂度O(n),代码如下:
No comments:
Post a Comment
Newer Post
Older Post
Home
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment