337. House Robber III
来源:互联网 发布:收购淘宝买家资料 编辑:程序博客网 时间:2024/06/14 19:56
本题
The thief has found himself a new place for his thievery again. There is only one entrance to this area, called the "root." Besides the root, each house has one and only one parent house. After a tour, the smart thief realized that "all houses in this place forms a binary tree". It will automatically contact the police if two directly-linked houses were broken into on the same night.
Determine the maximum amount of money the thief can rob tonight without alerting the police.
Example 1:
3 / \ 2 3 \ \ 3 1Maximum amount of money the thief can rob = 3 + 3 + 1 = 7.
Example 2:
3 / \ 4 5 / \ \
我们维护一个大小为2的数组,res,res【0】存储抢劫此房最大获利,res【1】存储不抢劫此房间最大获利。随后我们在深度遍历的基础上,利用公式res[0] = root.val+left[1]+right[1];//子房间不能被抢劫res[1] = Math.max(left[0], left[1])+ Math.max(right[0], right[1]);//子房间可以被抢劫或者不被抢劫,返回最大值。其中left,right数组为递归调用robber函数返回的当前节点左右子节点的被抢劫或者不被抢劫最大获利。返回res。
class Solution { public int rob(TreeNode root) { int[] nums = robber(root); return Math.max(nums[0], nums[1]); }private int[] robber(TreeNode root) {if(root==null){return new int[2];}int[] left = robber(root.left);int[] right = robber(root.right);int[] res = new int [2];res[0] = root.val+left[1]+right[1];res[1] = Math.max(left[0], left[1])+ Math.max(right[0], right[1]);return res;}}
阅读全文
0 0
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III
- 337. House Robber III**
- 337. House Robber III
- shell数组
- Django入门(三、Models)
- Java类的加载顺序
- 1.java的八种基本数据类型以及其封装类的理解应用
- kafka常用操作命令
- 337. House Robber III
- 枚举类型排序
- [FAQ18188][Recovery][Common]Android M 版本如何升级logo等rawdata分区方法?
- CG原画设计视频教程之透视与结构的画法
- 性能测试用例设计
- Httpservlet cannot be resolved to a type的原因与解决方法
- Longest Subsequence CodeForces 632D 数学/筛法
- Unity中动态修改Terrain地形
- 邻接表的建立,以及深度优先搜索