日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode337. 打家劫舍 III

發(fā)布時(shí)間:2023/12/4 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode337. 打家劫舍 III 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一:題目

二:上碼

/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:/**思路:1.動(dòng)態(tài)規(guī)劃YYDS2.分析題意:既然是二叉樹 那么和他離不開的就是遍歷順序 深度遍歷和廣度遍歷 我們可以知道的是本題和父節(jié)點(diǎn)有關(guān)的,那么我們就不考慮廣度遍歷;我們是考慮子節(jié)點(diǎn)的狀態(tài)來考慮我們是否偷取父節(jié)點(diǎn);所以我們采用后序遍歷。3.用到遞歸1>:確定遞歸函數(shù)與參數(shù)我們采取兩個(gè)狀態(tài)來記錄我們是否偷取 0 表示不偷; 1 表示偷;vector<int> sumMoney(TreeNode* root)2>:確定遞歸的終止條件當(dāng)我們遍歷到葉節(jié)點(diǎn)的時(shí)候 又往下遍歷了一次 那么我們的結(jié)點(diǎn)返回必定是不偷if(root == NULL) return {0,0}3>:確定遞歸的遞歸體vector<int> left = sumMoney(root->left);vector<int> right = sumMoney(root->right);那么我們的遞歸體就是為了表達(dá)當(dāng)前結(jié)點(diǎn)偷與不偷;如果我們偷當(dāng)前的結(jié)點(diǎn);那么我們的當(dāng)前已偷的總價(jià)值就是加上左右節(jié)不偷的價(jià)值int val1 = cur->val + left[0] + right[0];如果我們不偷當(dāng)前的結(jié)點(diǎn);那么我們現(xiàn)在的總價(jià)值就是就是左右結(jié)點(diǎn)中偷與不偷中價(jià)值的最大價(jià)值int val2 = max(left[0],left[1]]) + max(right[0],right[1])**/int rob(TreeNode* root) {vector<int> ans;ans = sumMoney(root);return max(ans[0],ans[1]);}vector<int> sumMoney(TreeNode* root) {if(root == NULL) return {0,0};vector<int> left = sumMoney(root->left);vector<int> right = sumMoney(root->right);int val1 = root->val + left[0] + right[0];//偷int val2 = max(left[0],left[1]) + max(right[0],right[1]);//不偷return {val2,val1};//注意這里的順序我們是 {不偷,偷} 因?yàn)槲覀兊南聵?biāo)安排的是0 1 下標(biāo)就是不偷與偷} };


天天向上 加油

總結(jié)

以上是生活随笔為你收集整理的leetcode337. 打家劫舍 III的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。