Leetcode力扣秋招刷题路-0124

news2024/11/20 13:19:16

从0开始的秋招刷题路,记录下所刷每道题的题解,帮助自己回顾总结

124. 二叉树中的最大路径和(Hard)

  • 路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。

    路径和是路径中各节点值的总和。

    给你一个二叉树的根节点 root ,返回其 最大路径和

  • 示例 1:

    在这里插入图片描述

    输入:root = [1,2,3]
    输出:6
    解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6

  • 示例 2:

    在这里插入图片描述

    输入:root = [-10,9,20,null,null,15,7]
    输出:42
    解释:最优路径是 15 -> 20 -> 7 ,路径和为 15 + 20 + 7 = 42

  • 提示:

    树中节点数目范围是 [1, 3 ∗ 1 0 4 3 * 10^4 3104]
    -1000 <= Node.val <= 1000

  • 递归

    int max = Integer.MIN_VALUE;
        public int maxPathSum(TreeNode root) {
            if (root == null) {
                return 0;
            }
            dfs(root);
            return max;
        }
    
        /**
         * 返回经过root的单边分支最大和, 即Math.max(root, root+left, root+right)
         * @param root
         * @return
         */
        public int dfs(TreeNode root) {
            if (root == null) {
                return 0;
            }
            //计算左边分支最大值,左边分支如果为负数还不如不选择
            int leftMax = Math.max(0, dfs(root.left));
            //计算右边分支最大值,右边分支如果为负数还不如不选择
            int rightMax = Math.max(0, dfs(root.right));
            //left->root->right 作为路径与已经计算过历史最大值做比较
            max = Math.max(max, root.val + leftMax + rightMax);
            // 返回经过root的单边最大分支给当前root的父节点计算使用
            return root.val + Math.max(leftMax, rightMax);
        }
    

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能驾驶 车牌检测和识别(五)《C++实现车牌检测和识别(可实时车牌识别)》

智能驾驶 车牌检测和识别&#xff08;五&#xff09;《C实现车牌检测和识别&#xff08;可实时车牌识别&#xff09;》 目录 智能驾驶 车牌检测和识别&#xff08;五&#xff09;《C实现车牌检测和识别&#xff08;可实时车牌识别&#xff09;》 1. 前言 2. 车牌检测模型&a…

栈与队列——滑动窗口最大值

力扣题目链接 239. 滑动窗口最大值 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff1a; 输入&#xff1a…

CATIA等设计类软件实时渲染流化解决方案

CATIA软件在汽车、航空航天、船舶制造、厂房设计(尤其是钢构厂房)、建筑、通用机械制造等领域&#xff0c;提供3D设计和模拟解决方案。可以帮助企业在产品研发领域缩短开发周期&#xff0c;因此使用非常广泛。但随着技术和设备的发展&#xff0c;CATIA模型不仅仅需要在电脑上进…

活体识别5:论文笔记之FeatherNets

说明 这篇文章是这次比赛的第三名&#xff1a;ChaLearn Face Anti-spoofing Attack Detection ChallengeCVPR2019&#xff0c;此次比赛项目是人脸防欺诈攻击检测。 论文标题&#xff1a;《FeatherNets: Convolutional Neural Networks as Light as Feather for Face Anti-spo…

中科蓝讯读取CSV文件中地址来指定地址段烧录

优势&#xff1a;可不需要通过小牛测控来写码&#xff0c;在烧录的时候直接进行读取文件来写码&#xff0c;可节省小牛测控写码并复位耳机的时间 功能&#xff1a;通过读取外置的 excel 表格里面的配置项&#xff0c;实现对 setting 文件里面的特定配置项的值 进行设置&#…

详解 k8s 中的 RBAC

Kubernetes 主要通过 API Server 对外提供服务&#xff0c;对于这样的系统来说&#xff0c;如果不加以安全限制&#xff0c;那么可能导致请求被滥用&#xff0c;甚至导致整个集群崩塌。 Kubernetes 中提供了良好的多租户认证管理机制&#xff0c;RBAC正式其中重要的一个&#…

Linux驱动开发基础__异步通知

目录 1 适用场景 2 使用流程 3 驱动编程 4 应用编程 5 代码 5.1 gpio_key_drv.c 5.2 button_test.c 5.3 Makefile 6 异步通知机制内核代码详解 1 适用场景 在前面引入中断时&#xff0c;我们曾经举过一个例子&#xff1a; 妈妈怎么知道卧室里小孩醒了&#xff1f; 异…

【深度学习】U-Net和FCN具体分析

FCN 相比于普通分类网络而言:FCN把后面几个全连接都换成卷积,这样就可以获得一张2维的feature map,后接softmax获得每个像素点的分类信息,从而解决了像素级分割问题。 整个FCN网络基本原理如图5**(只是原理示意图)**: image经过多个conv和+一个max pooling变为pool1 f…

SpringCloud_Alibaba Sentinel实现熔断与限流

目录一、Sentinel介绍1.官网2.是什么3.能干嘛4.去哪下5.怎么玩二、安装Sentinel控制台1.sentinel组件由2部分组成2.安装步骤三、初始化演示工程1.启动Nacos8848成功2.案例3.启动Sentinel80804.启动微服务84015.启动8401微服务后查看sentienl控制台四、流控规则1.基本介绍2.流控…

计算机网络 | 网络层知识点期末汇总【还不赶紧收藏】

看不完就慢慢看&#xff0c;扎实掌握&#x1f44a;一、网络层的几个重要概念1、互联网设计思路2、虚电路与数据报服务3、网络层的两个层面二、网际协议 IP1、配套协议2、互连虚拟网络3、IP地址&#xff08;1&#xff09;IP 地址及其表示方法&#xff08;2&#xff09;分类的 IP…

基于 PyTorch 的目标检测和跟踪(无敌版)

一个不知名大学生&#xff0c;江湖人称菜狗 original author: jacky Li Email : 3435673055qq.com Time of completion&#xff1a;2023.2.1 Last edited: 2023.2.1 目录 图像中的目标检测 视频中的目标跟踪 作者有言 在文章《基于 PyTorch 的图像分类器》中&#xff0c;介绍…

网卡ID简要说明

一、概述 网卡ID标识着网卡的具体类型&#xff0c;由五个ID共同确认。根据这五个ID可以在公示网站查到具体的网卡型号。 1. Class id (1) 区分不同的PCI(外设)设备 (2) 网卡类型是&#xff1a;0200 (3) 查询网址&#xff1a;http://pci-ids.ucw.cz/read/PD 2. Vendor id: …

15_open_basedir绕过

open_basedir绕过 一、了解open_basedir 1. 搭建环境 在test目录下存在一个open_basedir.php的文件 里面的php代码就是简单的文件包含或者ssrf,利用的是file_get_contents函数 open_basedir也就是在这种文件包含或者ssrf访问其它文件的时候生效 然后在www目录下再新建一个t…

(隐私计算)联邦学习概述

一、是什么 概念 联邦学习&#xff08;Federated Learning&#xff0c;FELE&#xff09;是一种打破数据孤岛、释放 AI 应用潜能的分布式机器学习技术&#xff0c;能够让联邦学习各参与方在不披露底层数据和底层数据加密&#xff08;混淆&#xff09;形态的前提下&#xff0c;…

Unity-TCP-网络聊天功能(一): API、客户端服务器、数据格式、粘包拆包

1.TCP相关API介绍与服务端编写TCP是面向连接的。因此需要创建监听器&#xff0c;监听客户端的连接。当连接成功后&#xff0c;会返回一个TcpClient对象。通过TcpClient可以接收和发送数据。VS创建C# .net控制台应用项目中创建文件夹Net&#xff0c;Net 下添加TCPServer.cs类&am…

界面组件DevExtreme v22.2亮点——UI模板库升级换代!

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合&#xff0c;使您可以利用现代Web开发堆栈&#xff08;包括React&#xff0c;Angular&#xff0c;ASP.NET Core&#xff0c;jQuery&#xff0c;Knockout等&#xff09;构建交互式的Web应用程序。从Angular和Reac&#xff0c…

高频链表算法

1.从尾到头打印链表值 输入一个链表的头节点&#xff0c;从尾到头反过来返回每个节点的值(用数组返回) 思路 &#xff08;1&#xff09;如果使用数组来保存反转之后的链表数据&#xff0c;这样只需要使用到队列或栈的知识&#xff0c;关键是unshif和push,reverse函数 &…

【vue2】vuex基础与五大配置项

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;vuex基础认识、state、getters、mutations actions、modules使用 目录(文末原素材) 一、…

【JavaEE初阶】第九节.多线程 (基础篇)定时器(案例三)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 前言 一、定时器概述、 二、定时器的实现 2.1 Java标准库 定时器的使用 2.2 自己模拟实现一个定时器 2.3 对自己实现的定时器的进一步优化 2.3.1 为何需要再进行优化 2…

CMOS图像传感器——了解光圈

在之前有提到传感器英寸,也提到了曝光三要素之一的ISO,这里主要说明另外一个曝光三要素——光圈。在本文中,我们将介绍光圈及其工作原理。 一、什么是光圈 光圈可以定义为镜头中的开口,光线通过该开口进入相机。类比眼睛是的工作原理,就容易理解了:当人在明亮和黑暗的环…