leetcode_House Robber III
2016-05-25 14:18
253 查看
今天本宝宝终于体验了一次什么叫记忆化搜素
题意:一个房子,里面的房间构成二叉树,并且每个房间都有一定数目的宝藏,要求在不偷相邻房间的宝藏的情况下,获得最大收益
题意:一个房子,里面的房间构成二叉树,并且每个房间都有一定数目的宝藏,要求在不偷相邻房间的宝藏的情况下,获得最大收益
class Solution { public: map<TreeNode *,int> zero; map<TreeNode *,int> one; int add(TreeNode * root ,int index) { if(root==NULL) return 0; int value; if(index==0) { if(zero[root]!=0) return zero[root]; else { value=max(add(root->left,0)+add(root->right,1),add(root->left,0)+add(root->right,0)); value=max(value,add(root->left,1)+add(root->right,1)); value=max(value,add(root->left,1)+add(root->right,0)); zero[root]=value; return value; } } else if(index==1) { if(one[root]!=0) return one[root]; else { value=add(root->left,0)+add(root->right,0)+root->val; one[root]=value; return value; } } return 0; } int rob(TreeNode* root) { return max(add(root,0),add(root,1)); } };
相关文章推荐
- MATLAB _GUI初识
- android_震动效果vibrator
- Android——数据存储(课堂代码整理:SharedPreferences存储和手机内部文件存储)
- C# 中DateTime的各种使用
- C++的配置项
- 64位系统使用PLSQL Developer(图文教程)
- Redis核心解读-从Master到Slave的Replicantion
- 安卓程序中双击退出程序
- 瞬间移动(c(n, m))
- 大整数运算之加减乘除
- svn服务端更换IP地址后,客户端的修改方法
- maven核心,pom.xml详解(转)
- RabbitMQ简要整理一 概念
- Java发送邮件初窥
- iOS之文本处框架CoreText(C语言的框架)
- linux下下载安装jdk
- 闯过这 54 关,点亮你的 Git 技能树 (四)
- jquery获取列表某行某列的值
- 欢迎使用CSDN-markdown编辑器
- Ubuntu14.0 nginx+php+mysql环境的搭建