成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何用打家劫舍的思維分析python二叉樹

如何用打家劫舍的思維分析python二叉樹,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯(lián)自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)站制作、電子商務、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應用系統(tǒng)開發(fā)管理經(jīng)驗、成熟的應用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團隊及專業(yè)的網(wǎng)站設(shè)計師團隊。

在上次打劫完一條街道之后和一圈房屋后,小偷又發(fā)現(xiàn)了一個新的可行竊的地區(qū)。這個地區(qū)只有一個入口,我們稱之為“根”。 除了“根”之外,每棟房子有且只有一個“父“房子與之相連。一番偵察之后,聰明的小偷意識到“這個地方的所有房屋的排列類似于一棵二叉樹”。 如果兩個直接相連的房子在同一天晚上被打劫,房屋將自動報警。

計算在不觸動警報的情況下,小偷一晚能夠盜取的最高金額。

示例 1:

輸入: [3,2,3,null,3,null,1]

    3
   / \
  2   3
   \   \
    3   1

輸出: 7
解釋: 小偷一晚能夠盜取的最高金額 = 3 + 3 + 1 = 7.

示例 2:

輸入: [3,4,5,1,3,null,1]

     3
   / \
  4   5
 / \   \
1   3   1

輸出: 9
解釋: 小偷一晚能夠盜取的最高金額 = 4 + 5 = 9.

解題思路:

1,有兩種選擇

A,打劫根節(jié)點和孫子節(jié)點

B,打劫孩子節(jié)點

2,有5種邊界情況

A,根節(jié)點空

B,左右孩子非空

C,左右孩子均空

D,左孩子空

E,右孩子空

/** * Definition for a binary tree node. * type TreeNode struct { *     Val int *     Left *TreeNode *     Right *TreeNode * } */func rob(root *TreeNode) int {    val:=0    if root==nil{        return val    }        if root.Left!=nil && root.Right!=nil{        ll:=rob(root.Left.Left)        lr:=rob(root.Left.Right)                rl:=rob(root.Right.Left)        rr:=rob(root.Right.Right)                l:=rob(root.Left)        r:=rob(root.Right)                if root.Val+ll+lr+rr+rl>l+r{            return root.Val+ll+lr+rr+rl        }        return l+r    }        if root.Left!=nil{        ll:=rob(root.Left.Left)        lr:=rob(root.Left.Right)                l:=rob(root.Left)                if root.Val+ll+lr>l{            return root.Val+ll+lr        }        return l            }        if root.Right!=nil{        rl:=rob(root.Right.Left)        rr:=rob(root.Right.Right)                r:=rob(root.Right)                if root.Val+rl+rr>r{            return root.Val+rl+rr        }        return r    }    return root.Val}

看完上述內(nèi)容,你們掌握如何用打家劫舍的思維分析python二叉樹的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站標題:如何用打家劫舍的思維分析python二叉樹
本文鏈接:http://jinyejixie.com/article34/pdcgpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站建站公司、電子商務、營銷型網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
金溪县| 广灵县| 咸丰县| 海晏县| 洞口县| 普格县| 太康县| 安义县| 枣强县| 加查县| 兴宁市| 淮南市| 布尔津县| 哈密市| 渭南市| 无棣县| 顺平县| 聂拉木县| 聊城市| 柞水县| 清水河县| 平利县| 峨边| 涟源市| 灵川县| 南和县| 哈巴河县| 阿拉善盟| 长泰县| 平潭县| 沽源县| 宣武区| 天祝| 永仁县| 遂宁市| 周口市| 新安县| 丰原市| 福泉市| 靖江市| 苏尼特左旗|