已解决
2023-09-18 LeetCode每日一题(打家劫舍 III)
来自网友在路上 160860提问 提问时间:2023-09-22 15:40:41阅读次数: 60
最佳答案 问答题库608位专家为你答疑解惑
2023-09-18每日一题
一、题目编号
337. 打家劫舍 III
二、题目链接
点击跳转到题目位置
三、题目描述
小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。
除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果 两个直接相连的房子在同一天晚上被打劫 ,房屋将自动报警。
给定二叉树的 root 。返回 在不触动警报的情况下 ,小偷能够盗取的最高金额 。
示例 1:
示例 2:
提示:
- 树的节点数在 [1, 104] 范围内
- 0 <= Node.val <= 104
四、解题代码
class Solution {
public:unordered_map <TreeNode*, int> f, g;void dfs(TreeNode* node) {if (!node) {return;}dfs(node->left);dfs(node->right);f[node] = node->val + g[node->left] + g[node->right];g[node] = max(f[node->left], g[node->left]) + max(f[node->right], g[node->right]);}int rob(TreeNode* root) {dfs(root);return max(f[root], g[root]);}
};
五、解题思路
(1) 树型dp题目
查看全文
99%的人还看了
相似问题
- 【二叉树】常见题目解析(2)
- 力扣题目学习笔记(OC + Swift)
- 【PTA题目】L1-4 稳赢 分数 15
- 初刷leetcode题目(5)——数据结构与算法
- 竞赛 题目:基于机器视觉opencv的手势检测 手势识别 算法 - 深度学习 卷积神经网络 opencv python
- 初刷leetcode题目(1)——数据结构与算法
- 【华为OD机试AB高分必刷题目】拆分(Python-贪心算法实现)
- 通过一道题目带你深入了解WAF特性、PHP超级打印函数、ASCII码chr()对应表等原理[RoarCTF 2019]Easy Calc 1
- 数据结构:Map和Set(2):相关OJ题目
- C++模板元模板实战书籍讲解第一章题目讲解
猜你感兴趣
版权申明
本文"2023-09-18 LeetCode每日一题(打家劫舍 III)":http://eshow365.cn/6-11501-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!