在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。

计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。

示例 1:

示例 2:

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/house-robber-iii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
————————

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {public:int rob(TreeNode* root) {vector<int> money = function(root);return max(money[0],money[1]);}vector<int> function(TreeNode* root){vector<int> money(2,0);if(root==NULL)return money;vector<int> left = function(root->left);vector<int> right = function(root->right);money[0] = max(left[0],left[1]) + max(right[0],right[1]);money[1] = root->val + left[0] + right[0];return money;}
};

leetcode —— 337. 打家劫舍 III相关推荐

  1. LeetCode 337. 打家劫舍 III(记忆化+递归)

    文章目录 1. 题目 1.1 相关题目: 2. 解题 2.1 递归 2.2 记忆化递归 1. 题目 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区.这个地区只有一个入口,我们称 ...

  2. 104. Leetcode 337. 打家劫舍 III (动态规划-打家劫舍)

    步骤一.确定递归函数的参数和返回值: dp数组及下标的含义 dp数组的长度为2, 下标为0记录不偷该节点所得到的的最大金钱,下标为1记 录偷该节点所得到的的最大金钱. 步骤二.确定终止条件: 在遍历的 ...

  3. 代码随想录Day48|198.打家劫舍、213.打家劫舍II、337.打家劫舍III

    文章目录 198.打0家劫舍 213.打家劫舍II 337.打家劫舍III 198.打0家劫舍 文章讲解:代码随想录 (programmercarl.com) 题目链接:198. 打家劫舍 - 力扣( ...

  4. day40|198.打家劫舍、213.打家劫舍II、337.打家劫舍III

    198.打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 ...

  5. Day48 | 198. 打家劫舍 | 213.打家劫舍Il |337. 打家劫舍 III

    198. 打家劫舍 注意点: 1. 递推公式,dp[j-2]+nums[j]表示的是加上nums[j]后dp[j]的值, dp[j-1]表示的是不加nums[j]后dp[j-1]的最大值 class ...

  6. 337.打家劫舍 III 121. 买卖股票的最佳时机

    337.打家劫舍 III 树形dp,采用后序遍历,用dp[0],dp[1] 分别表示不取当前物品,和取当前物品的所获最大利润 /*** Definition for a binary tree nod ...

  7. leetcode 337. House Robber III | 337. 打家劫舍 III(树形dp;什么情况下dp需要强制包含当前元素?)

    题目 https://leetcode.com/problems/house-robber-iii/ 思考:什么情况下 dp 需要强制包含当前元素? dp 过程中,需要包含当前元素 的例子: leet ...

  8. 【LeetCode笔记】337. 打家劫舍III(Java、树型动态规划)

    文章目录 题目描述 思路 & 代码 更新版 题目描述 这年头当个小偷,都得会 dp 和二叉树了 和前面的 I & II 有点不同,这次直接换了数据结构,写树来了.(之后不会是图吧) 很 ...

  9. [leetcode] 337.打家劫舍3

    在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区.这个地区只有一个入口,我们称之为"根". 除了"根"之外,每栋房子有且只有一个" ...

最新文章

  1. Algs4-1.3.33一个双向队列Deque-双向链表实现
  2. Theme,skin-----asp.net2.0 new technolog
  3. qduoj - WHY吃糖果(二分套二分)
  4. 74款app源码,值得你拥有的干货
  5. 还在一个个复制数据?——今天教你控制台爬数据!
  6. java代码删除本地文件_java程序实现删除本地文件
  7. http缓存与cdn相关技术
  8. 计算机屏幕画图工具,电脑屏幕画笔工具(Pointofix)
  9. iphone6s 10.2系统越狱及遇到的问题解决方案
  10. 基于SpringBoot+Vue开发的物流仓储管理系统源码
  11. picasa csdn_如何阻止Picasa截取不必要的屏幕截图
  12. 字符串转数字函数 atol、atoll和strtol、strtoll、strtoul、strtoull 分析
  13. Tableau可视化---Tableau简介
  14. android radiobutton下划线,使用RadioGroup做简单的按钮下划线切换效果
  15. vue element ui 利用xslx导出文档表格功能(纯前端导出下载文档)
  16. 微信授权登录接口合集
  17. 为什么说OKRS-E是适合的OKR框架
  18. IE8和IE9对于前端来说有什么区别
  19. 【小家Spring】Spring AOP各个组件概述与总结【Pointcut、Advice、Advisor、Advised、TargetSource、AdvisorChainFactory...】
  20. 二、数码管显示原理及应用实现

热门文章

  1. 关于 V C++ 中 Error 6 fatal error C1075的解决办法
  2. Nginx实现HTTP反向代理配置
  3. 容器编排技术 -- Kubernetes 示例:使用 Stateful Sets 部署 Cassandra
  4. MySQL集群:高可用性DBMS
  5. NAT (PAT)地址转换技术(讲解+配置)
  6. 2. 移动安全渗透测试-(Android安全基础)
  7. 【kubernetes / k8s 踩坑记录】一定要关闭SWAP
  8. JDK动态代理底层剖析
  9. Spring框架声明式事务管理
  10. docker certbot 一键申请https证书、证书过期续订、续订成功自动重启服务