Leetcode—337.打家劫舍III【中等】

2023每日刷题(五十二)

Leetcode—337.打家劫舍III

在这里插入图片描述

算法思想

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实现代码

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    pair<int, int> dfs(TreeNode* root) {
        if(root == nullptr) {
            return {0, 0};
        }
        auto [left_rob, left_not_rob] = dfs(root->left);
        auto [right_rob, right_not_rob] = dfs(root->right);
        // 选该结点
        int rob = left_not_rob + right_not_rob + root->val;
        // 不选该结点
        int not_rob = max(left_rob, left_not_rob) + max(right_rob, right_not_rob);
        return {rob, not_rob};
    }

    int rob(TreeNode* root) {
        auto [rob, not_rob] = dfs(root);
        return max(rob, not_rob);
    }
};

运行结果

在这里插入图片描述
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/227812.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

可视化工具Datart小妙招(1)——妙用计算字段

加gzh“大数据食铁兽”&#xff0c;了解更多Datart小妙招 作为目前国内开源版本最好用的可视化工具之一&#xff0c;Datart无疑是低成本高效率可供二开的可视化神兵利器。经过一段时间的使用及磨合&#xff0c;现在总结一些使用的小妙招分享给大家。本篇我们来讲一讲可视化工具…

基于Python guI的学生信息管理系统的设计与实现

基于Python guI的学生信息管理系统的设计与实现 摘要 讲述的是一个使用Python GUI的学习资料管理工具。通过使用Python的Tkinter库和mysql数据库&#xff0c;这个工具可以方便地记录、检索、更新学习资料。本文详细描述了系统的架构设计和实现过程&#xff0c;并对系统进行了功…

语聚AI知识库支持连接数据库,无需上传知识文档,数据分析更高效

数据库系统是企业信息技术基础架构的关键部分&#xff0c;它帮助企业管理和处理其数据&#xff0c;目前已有大量企业通过数据库保存数据&#xff0c;例如员工信息、客户数据、产品销售数据等等。但企业运营变得越来越复杂&#xff0c;数据库中的数据量也在持续增长&#xff0c;…

GPTs的创建与使用,自定义GPTs中的Actions示例用法 定义和执行特定任务的功能模块 通过API与外部系统或服务的交互

Name 等 Logo:自动生成 Name 介绍 Description 介绍 Instructions 要求或命令等 比如用中文回复&#xff0c;角色。 Knowledge 上传你的知识库&#xff0c;如果你有某一垂直行业的数据&#xff0c;基于数据来回答。比如我有某个芯片的指令集。 Capabilities 都要 Actions&…

分享 | 顶刊高质量论文插图配色(含RGB值及16进制HEX码)(第一期)

我在很早之前出过一期高质量论文绘图配色&#xff0c;但当时觉得搜集太麻烦于是就没继续做&#xff0c;后来用MATLAB爬了上万张顶刊绘图&#xff0c;于是又想起来做这么一个系列&#xff0c;拿了一个多小时写了个提取论文图片颜色并得出RGB值和16进制码并标注在原图的代码&…

Django的logging-日志模板的简单使用方法(配置并使用根日志记录器-不显示实例化logging对象)

扩展阅读&#xff1a; Python-Django的“日志功能-日志模块(logging模块)-日志输出”的功能详解 现在有下面的Python代码&#xff1a; # -*- coding: utf-8 -*-content "i love you" print(content)现在要把代码中print语句中的内容以日志文件的形式输出&#xff…

静电ESD整改:如何让企业避免损失?|深圳比创达电子EMC

一、静电ESD整改的背景 静电是指物体之间因摩擦或分离而产生的电荷&#xff0c;而静电放电ESD(Electrostatic Discharge)则是指静电在物体间突然放电的现象。静电放电造成的瞬态高电流和高电压可能会损坏电子设备&#xff0c;从而给企业带来损失。因此&#xff0c;进行静电ESD…

硬件开发笔记(十五):RK3568底板电路VGA显示接口原理图分析

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/134849296 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

html中一个div中平均一行分配四个盒子,可展开与收起所有的盒子

html中一个div中平均一行分配四个盒子&#xff0c;可展开与收起所有的盒子 1.截图显示部分 2.代码展示部分 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"wid…

OpenCvSharp从入门到实践-(07)绘制图形

目录 1、线段的绘制 1.1实例1-绘制线段拼成一个"王"字 2、矩形的绘制 2.1实例2-绘制一个矩形边框 2.2实例3-绘制一个实心矩形 3、圆的绘制 3.1实例4-绘制"交通灯" 4、多边形绘制 4.1实例5-绘制等腰梯形 5、文字的绘制 5.1实例6-绘制文字OpenCvS…

邀请函 | 合作发展,赋能增效--新架构下汽车电子软件研发技术研讨会

会议介绍 随着汽车智能化、网联化快速演进&#xff0c;“软件定义汽车、架构定义软件”愈发形成行业共识。汽车上的软件应用在提升用户体验、推动行业技术创新方面发挥着至关重要的作用。 在此背景下&#xff0c;如何有效地提升软件开发效率、更好地管理软件质量、满足行业安全…

m1通过源码编译xgboost4j的jar

1、下载源码 git clone --recursive https://github.com/dmlc/xgboost cd xgboost 编译xgboost的动态链接库dylib&#xff0c;m1源码编译xgboost的动态链接库dylib文件 2、编译XGBoost的jar文件&#xff1a; A、如果没有安装maven可以通过以下命令进行安装&#xff0c;如果安…

配置禁止BT下载的示例

如图1所示,企业内用户通过交换机连接到RouterA的Eth2/0/0,并通过RouterA的GE0/0/1接口连接到WAN侧网络。 现在要求在RouterA上通过配置基于智能应用控制SAC(Smart Application Control)的流分类,禁止企业用户进行BT下载。 图1 配置禁止BT下载的组网图: 操作步骤 1.Rout…

Hanlp自然语言处理如何再Spring Boot中使用

一、HanLP HanLP (Hankcs NLP) 是一个自然语言处理工具包&#xff0c;具有功能强大、性能高效、易于使用的特点。HanLP 主要支持中文文本处理&#xff0c;包括分词、词性标注、命名实体识别、依存句法分析、关键词提取、文本分类、情感分析等多种功能。 HanLP 可以在 Java、Py…

Liunx Centos 防火墙操作

liunx centos 防火墙 查看防火墙状态 systemctl status firewalld查看已经开放的端口 firewall-cmd --list-ports添加端口3306 firewall-cmd --zonepublic --add-port3306/tcp --permanent重启防火墙 firewall-cmd --reload数据库开放账号可以外网登陆 mysql -u root -p …

2023-12-07 LeetCode每日一题(重新规划路线)

2023-12-07每日一题 一、题目编号 1466. 重新规划路线二、题目链接 点击跳转到题目位置 三、题目描述 n 座城市&#xff0c;从 0 到 n-1 编号&#xff0c;其间共有 n-1 条路线。因此&#xff0c;要想在两座不同城市之间旅行只有唯一一条路线可供选择&#xff08;路线网形成…

Leetcode2008. 出租车的最大盈利

Every day a Leetcode 题目来源&#xff1a;2008. 出租车的最大盈利 解法1&#xff1a;排序 二分查找 动态规划 将数组 rides 按照 endi 从小到大进行排序&#xff0c;记 m 为 rides 的大小&#xff0c;dp1 表示只接区间 [0,i] 内的乘客的最大盈利&#xff0c;显然 dp0 …

Retrofit嵌套请求与适配器

一、前言&#xff1a; 1. retrofit嵌套请求 在实际开发中&#xff0c;可能会存在&#xff1a;需要先请求A接口&#xff0c;在请求B接口的情况&#xff0c;比如进入“玩android”网页请求获取收藏文章列表&#xff0c;但是需要先登录拿到Cookie才能请求搜藏文章几口&am…

细讲结构体

结构体是一些值的集合&#xff0c;这些值就是成员变量&#xff0c;这些变量可以是不同类型的。 当我们存放一个学生的信息是&#xff0c;包括性别&#xff0c;姓名&#xff0c;学号&#xff0c;年龄等内容&#xff0c;这些值是不同类型的&#xff0c;这是我们就可以使用结构体来…

深度解析 Kafka 消息保证机制

Kafka作为分布式流处理平台的重要组成部分&#xff0c;其消息保证机制是保障数据可靠性、一致性和顺序性的核心。在本文中&#xff0c;将深入探讨Kafka的消息保证机制&#xff0c;并通过丰富的示例代码展示其在实际应用中的强大功能。 生产者端消息保证 1 At Most Once &quo…