每日一题 337. 打家劫舍 III

难度:中等
在这里插入图片描述
整体思路相当于是前两天的方法倒过来,毕竟二叉树最常用的解法就是递归倒推

  1. 对于每一颗子树,他必定有一种最大的盗取方法,但是只有它的 root 的盗取情况才会影响到 root 的父节点,即如果收益最大的盗取方法中不盗取 root,那么它对 root 的父节点没有任何影响
  2. 简单来说,对于递归方法的返回值,我们需要返回两个值,一个是盗取 root 节点的收益最大值,一个是不盗取 root 节点的收益最大值
  3. 只需返回 nl + nr + root.val和max(yl, nl) + max(yr, nr),其中 nl 和 nr 表示 root 不盗取左右子树的根节点的情况下的最大值,yl 和 yr 表示 root 盗取左右子树的根节点的情况下的最大值
  4. 当需要盗取 root 节点时,左右子树就必不能盗取;当不需要盗取 root 节点时,左右子树取两种情况的最大值

代码:

class Solution:def rob(self, root: Optional[TreeNode]) -> int:def crob(root):if root == None:return 0, 0yl, nl = crob(root.left)yr, nr = crob(root.right)return nl + nr + root.val, max(yl, nl) + max(yr, nr)return max(crob(root))

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚拟线上发布会带来颠覆性新体验,3D虚拟场景直播迸发品牌新动能

虚拟线上发布会是近年来在数字化营销领域备受关注的形式,而随着虚拟现实技术的不断进步,3D虚拟场景直播更成为了品牌宣传、推广的新选择。可以说,虚拟线上发布会正在以其颠覆性的新体验,为品牌带来全新的活力。 1.突破时空限制&am…

竞赛选题 基于深度学习的人脸性别年龄识别 - 图像识别 opencv

文章目录 0 前言1 课题描述2 实现效果3 算法实现原理3.1 数据集3.2 深度学习识别算法3.3 特征提取主干网络3.4 总体实现流程 4 具体实现4.1 预训练数据格式4.2 部分实现代码 5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 毕业设计…

09MyBatisX插件

MyBatisX插件 在真正开发过程中对于一些复杂的SQL和多表联查就需要我们自己去编写代码和SQL语句,这个时候可以使用MyBatisX插件帮助我们简化开发 安装MyBatisX插件: File -> Settings -> Plugins -> 搜索MyBatisx插件搜索安装然后重启IDEA 跳转文件功能 由于一个项…

计算机竞赛 深度学习 opencv python 公式识别(图像识别 机器视觉)

文章目录 0 前言1 课题说明2 效果展示3 具体实现4 关键代码实现5 算法综合效果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的数学公式识别算法实现 该项目较为新颖,适合作为竞赛课题方向,学…

Unity Bolt 实现UI拖拽功能

最近在学习使用Bolt插件实现五代码对UGUI Image元素实现拖拽。先看效果 录制_2023_09_15_17_50_45_29 下面是实现方式介绍: 1:注册RectTransformUtility 在使用Bolt插件实现UI拖拽的功能,需要使用 RectTransformUtility.ScreenPointToLoca…

操作系统基本概念

目录 一、基本概述 二、操作系统的特点 (一)并发性(实质是微观的串行、宏观的并行) 1. 对比看:并行性 2. 单核CPU和多核CPU (二)共享性 (三)虚拟性 (…

自动化和数字化在 ERP 系统中意味着什么?

毋庸置疑,ERP系统的作用是让工作更轻松。它可以集成流程,提供关键分析,确保你的企业高效运营。这些信息可以提高你的运营效率,并将有限的人力资本重新部署到更有效、更重要的需求上。事实上,自动化和数字化是ERP系统最…

【Unity程序技巧】Unity中的单例模式的运用

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:Uni…

爬虫 — 验证码反爬

目录 一、超级鹰二、图片验证模拟登录1、页面分析1.1、模拟用户正常登录流程1.2、识别图片里面的文字 2、代码实现 三、滑块模拟登录1、页面分析2、代码实现(通过对比像素获取缺口位置) 四、openCV1、简介2、代码3、案例 五、selenium 反爬六、百度智能云…

【QT】day2

1.完善登录框 点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”,给定两个按…

分布式缓冲-Redis

个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…

神经网络 02(激活函数)

一、激活函数 在神经元中引入了激活函数,它的本质是向神经网络中引入非线性因素的,通过激活函数,神经网络就可以拟合各种曲线。 如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层&#xff0c…

(vue2)面经基础版-案例效果分析

配路由 先配一级,一级里面配二级。一级路由:首页(二级:嵌套4个小页面)、详情页 高亮a->router-link,高亮效果对自带高亮类名router-link(-exact)-active设置 注:通过children配置项&#…

使用vite创建vue3项目及项目的配置 | 环境准备 ESLint配置 prettier配置 husky配置

使用vite创建vue3项目及项目的配置 1.环境准备 使用vite搭建项目,vite需要nodejs版本14.18、16 node v18.16.1pnpm 8.7.4 pnpm:performant npm(高性能的npm)由npm/yarn衍生而来,解决了npm/yarn内部潜在的bug,极大的优化了性能&#xff0c…

能用就行——玄学问题:Compile with TORCH_USE_CUDA_DSA to enable device-side assertions

配置: python 3.9.0,torch2.0.1cu118 背景: 一直使用这个配置训练都没问题。搁置了一个月之后,再次使用就显示报错“Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.” 过程: 尝试了网上的各种方…

【SG滤波】三阶滤波、五阶滤波、七阶滤波(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

气传导耳机对耳朵有伤害吗?气传导耳机哪款好?

​随着气传导耳机的快速发展,在运动、办公等场合能够经常看到,带来了前所未有的舒适体验。作为一种新型耳机类型,相较传统入耳式耳机来说,更有利于耳道卫生,在听歌时还能保持对环境声的感知。面对市面上这么多气传导耳…

GEE:快速实现NDVI时间序列NDVI线性趋势和变化敏感性计算(斜率、截距)

作者:CSDN @ _养乐多_ 本博客将向您介绍如何使用Google Earth Engine(GEE)平台来处理Landsat 5、7和8的卫星图像数据,计算NDVI的斜率和截距,以及如何导出这些结果供进一步分析使用。 文章目录 一、代码详解1.1 核心代码详解1.2 核心代码详解1.3 代码框架介绍二、完整代码…

Python 多进程异常

这里写目录标题 1、捕获异常2、退出程序3、进程共享变量4、multiprocessing的Pool所起的进程中再起进程 1、捕获异常 https://zhuanlan.zhihu.com/p/321408784 try:<语句> except Exception as e:print(异常说明,e)1 捕获所有异常 包括键盘中断和程序退出请求&#xff0…

KINODYNAMIC-路径规划

工程自动导航分为两步&#xff1a;先路径规划&#xff0c;再轨迹规划 但是如果路径规划与轨迹规划完全独立开&#xff0c;不考虑运动学约束&#xff0c;会导致搜索出来的路线无法用轨迹优化矫正过来 例如&#xff1a; 因此再路径规划的时候&#xff0c;就应该一定程度上将运动…