<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?LeetCode刷題實(shí)戰(zhàn)124:二叉樹中的最大路徑和

          共 1419字,需瀏覽 3分鐘

           ·

          2020-12-16 21:14

          算法的重要性,我就不多說了吧,想去大廠,就必須要經(jīng)過基礎(chǔ)知識和業(yè)務(wù)邏輯面試+算法面試。所以,為了提高大家的算法能力,這個公眾號后續(xù)每天帶大家做一道算法題,題目就從LeetCode上面選 !

          今天和大家聊的問題叫做?二叉樹中的最大路徑和,我們先來看題面:
          https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/

          Given a non-empty binary tree, find the maximum path sum.


          For this problem, a path is defined as any node sequence from some starting node to any node in the tree along the parent-child connections. The path must contain at least one node and does not need to go through the root.

          題意



          給定一個非空二叉樹,返回其最大路徑和。

          本題中,路徑被定義為一條從樹中任意節(jié)點(diǎn)出發(fā),沿父節(jié)點(diǎn)-子節(jié)點(diǎn)連接,達(dá)到任意節(jié)點(diǎn)的序列。該路徑至少包含一個節(jié)點(diǎn),且不一定經(jīng)過根節(jié)點(diǎn)。

          樣例


          解題


          思路總結(jié):

          • 邊界判斷

          • 遞歸找出左右子樹最大的gain,小于0就不選。

          • 取以當(dāng)前節(jié)點(diǎn)為根節(jié)點(diǎn)的最大值和root為根節(jié)點(diǎn)最大值為最大路徑和

          • 返回每個節(jié)點(diǎn)作為根節(jié)點(diǎn)的最大路徑作為子樹的最大路徑。


          class?Solution:
          ????def?maxPathSum(self, root: TreeNode)?-> int:
          ????????
          ????????def?max_gain(node):
          ????????????nonlocal?max_sum
          ????????????if?not?node:return?0
          ????????????left_max = max(max_gain(node.left), 0)
          ????????????right_max = max(max_gain(node.right),0)
          ????????????new_price = node.val + left_max + right_max
          ????????????max_sum = max(max_sum, new_price)
          ????????????return?node.val + max(left_max, right_max)
          ????????max_sum = float('-inf')
          ????????max_gain(root)
          ????????return?max_sum



          好了,今天的文章就到這里,如果覺得有所收獲,請順手點(diǎn)個在看或者轉(zhuǎn)發(fā)吧,你們的支持是我最大的動力。

          上期推文:

          LeetCode1-120題匯總,希望對你有點(diǎn)幫助!
          LeetCode刷題實(shí)戰(zhàn)121:買賣股票的最佳時(shí)機(jī)
          LeetCode刷題實(shí)戰(zhàn)122:買賣股票的最佳時(shí)機(jī) II
          LeetCode刷題實(shí)戰(zhàn)123:買賣股票的最佳時(shí)機(jī) III


          瀏覽 25
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲高清视频在线看! | 我要毛片毛片毛片毛片毛 | 一本色道久久综合无码人妻 | 黄色三级片免费看 | 苍井空在厨房被C的A片 |