【力扣-每日一题】337. 打家劫舍 III

cpp 复制代码
class Solution {
public:
    pair<int,int> dfs_rob(TreeNode *root){
        //如果为根节点
        if(root==nullptr)
            return {0,0};
        auto [l,l_n]=dfs_rob(root->left);
        auto [r,r_n]=dfs_rob(root->right);
        int o=l_n+r_n+root->val;//当前节点偷,所获得的利益,子节点不能偷
        int o_n=max(l,l_n)+max(r,r_n);  //当前节点不偷,左右子节点分别返回最大的值
        return {o,o_n};//返回当前节点偷、不偷情况下的最大利益
    }
    int rob(TreeNode* root) {
        auto [l,r]=dfs_rob(root);
        return max(l,r);
    }
};
相关推荐
一只叁木Meow4 分钟前
电商 SKU 选择器:用算法实现优雅的用户交互
前端·javascript·算法
代码中介商9 分钟前
红黑树完全指南:从五条性质到完整插入删除实现
数据结构·算法
JieE21211 分钟前
反转链表:从双指针到递归,吃透链表反转的核心逻辑
javascript·算法
玖釉-28 分钟前
旋转图像:从矩阵转置、镜像到坐标变换的系统理解
c++·windows·算法·图形渲染
fengenrong44 分钟前
20260522
算法
一条大祥脚1 小时前
Codeforces Round 1099 (Div. 2) 构造|贪心|图论|还原数组
java·算法·图论
Sheldon Chao1 小时前
Lecture 7 基于策略梯度的算法
人工智能·算法·机器学习
始三角龙1 小时前
LeetCode hoot 100 -- 缺失的第一个正整数
算法·leetcode·职场和发展
飞Link2 小时前
深度解析孪生网络(Siamese Network):从原理、技巧到实战应用
算法·数据挖掘·回归
测试狗科研平台2 小时前
洞悉微观电荷流动,VASP计算电荷密度分布
算法·云计算·开源软件