腾讯面试:打家劫舍 III
题目:
在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。
计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。
示例 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.
代码:
class Solution {
public:unordered_map <TreeNode*, int> f, g;void dfs(TreeNode* o) {if (!o) {return;}dfs(o->left);dfs(o->right);f[o] = o->val + g[o->left] + g[o->right];g[o] = max(f[o->left], g[o->left]) + max(f[o->right], g[o->right]);}int rob(TreeNode* o) {dfs(o);return max(f[o], g[o]);}
};
代码是先递归在求dp方程,递归一直递归到底部,然后dp方程从底部一直往上求值,类似一个弹栈过程
参考地址:https://leetcode-cn.com/problems/house-robber-iii/solution/da-jia-jie-she-iii-by-leetcode-solution/
腾讯面试:打家劫舍 III相关推荐
- 标 题: 腾讯面试题目(PHP程序员)
发信人: max19830115 (max), 信区: Programming 标 题: 腾讯面试题目(PHP程序员) 发信站: 水木社区 (Mon Apr 18 16:26:07 2011), 站 ...
- ❤️详解腾讯面试❤️
直接用微信扫描如下二维码,畅通无阻阅读------"万字攻略,详解腾讯面试" ,好评如潮,一天访问量达之前文章的30倍,对有缘人肯定会有所帮助. 如果你是其他阅读方式导致不能扫码 ...
- 腾讯面试:一条SQL语句执行得很慢的原因有哪些?
戳蓝字"CSDN云计算"关注我们哦! 技术头条:干货.简洁.多维全面.更多云计算精华知识尽在眼前,get要点.solve难题,统统不在话下! 作者:帅地 转自:苦逼的码农 说实话, ...
- 云漫圈 | 腾讯面试,我竟然输给了final关键字
戳蓝字"CSDN云计算"关注我们哦! 作者:乔戈里 来源:程序员乔戈里 腾讯面试现场 ------ final 在 Java 中是一个保留的关键字,可以声明变量.方法.类. 什么是 ...
- 二叉树的建立与遍历完整代码_腾讯面试官这样问我二叉树,我刚好都会
前记 上周我投递出了简历,岗位是后端开发工程师.这周腾讯面试官给我进行了视频面试.面试过程中他问了二叉树的问题. 二叉树相关算法题,在面试中出现的次数非常非常多,所以我面试之前也有所准备.今天结合面试 ...
- 程序员美团面试挂了,7天后去腾讯面试,见到面试官:好巧啊!!
说起来,职场上很多事情,只能用一个"缘分"来解释.近日在职场论坛上看到有员工发帖,他说自己在面试时遇到了一件最悲哀的事情?在上个月去美团面试的时候,由于发挥不太好,面试挂了.当时那 ...
- 「软件测试」刚从腾讯面试出来,留下了这些面试笔记
对于想要面试去银行面试的小伙伴们看过来,小编为大家总结了浦发银行的面试题,其实很多面试题很多公司都差不多.主要看自己如何灵活回答.以下的问题小编之前面试非浦发银行的银行项目也有被问到过,是在一面的时候 ...
- 腾讯面试官这样问我二叉树,我刚好都会 | 原力计划
作者 | 天才程序YUAN 责编 | 夕颜 封图 | CSDN下载自视觉中国 出品 | CSDN(ID:CSDNnews) 前记 上周我投递出了简历,岗位是后端开发工程师.这周腾讯面试官给我进行了视频 ...
- 备战腾讯面试经历分享,小伙终获Android岗Offer
作者:七分熟pizza 导读 网上的面试题很多,但是讲解备战面试经历的文章很少,这篇文章从简历到模拟面试再到面试都有讲解,十分难得,推荐给大家.下文中的我指的是作者七分熟pizza. 1.开篇 我找工 ...
- 浅谈 Java 后端开发工程师腾讯面试经历分享总结
最近一段时间考虑到换工作,打算整理一下网络上曾经面试者分享的的面试经历并结合自己以往的面试经历和经验,帮助大家获取到互联网大厂的入职通知书,也就是入职 offer. 本文整理网络面试者和本人的面试经历 ...
最新文章
- 最大子段和——分治与动态规划
- 9、 InnoDB行锁
- python输入输出有问题_使用pySerial从Python获取输入/输出错误
- Redis的Errorlog或者启动日志(错误日志)的配置
- 自己开发的ABAP代码版本查看工具
- login组件的两种用法_Android-模块化、组件化、插件化、热修复-组件化-组件间的通信(本地,下沉,bus,路由)...
- 必读!Java开发人员的十大戒律
- 磁盘分区对齐详解与配置 – Linux篇
- java如何使用live2d_关于live2D的使用
- apr_thread使用内存之谜
- iOS CMMotionManager之加速计、陀螺仪
- 网易发起“疾风”智造IoT联盟,深化“互联网+先进制造业”发展
- Descriptive Essay文章内容怎么写?
- WebSocket对象的“readyState”属性记录连接过程中的状态值
- 使用conda从requirements.txt中安装依赖包
- 10岁男童高考获566分或被大学破格录取(图)
- 赋值运算符重载和拷贝构造函数
- python 常用系统内置模块
- 有了这款数据恢复软件再也不用害怕数据丢失了
- QQ电脑管家电脑安全大师
热门文章
- [debian]use ISO as debian apt source / 使用ISO文件作为apt源
- BZOJ4475: [Jsoi2015]子集选取【找规律】【数学】
- 图论 用广搜搜邻接矩阵
- 解析 this.initialize.apply(this, arguments)
- LeetCode Online Judge 题目C# 练习 - Minimum Path Sum
- jquery技巧总结 学习
- 【python初识】列表与函数模块
- JavaScript夯实基础系列(二):闭包
- D2Admin 7月份更新内容:cli3以及更方便的全局控制等
- mysql-5.7.17-winx64的安装配置