每日一题 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.mzph.cn/news/81790.shtml

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

相关文章

图像处理:双边滤波

1. 双边滤波 公式含义: q:输入的像素点,它代表上图中55的方框中其中的一个像素点 : 空间域核 : 图像像素域核 (两个二维高斯函数,二维高斯函数的公式为:) 进行了一些小的改动,让他们更加符合我们的要求&#xff0…

【每日一题】1146. 快照数组

1146. 快照数组 - 力扣(LeetCode) 实现支持下列接口的「快照数组」- SnapshotArray: SnapshotArray(int length) - 初始化一个与指定长度相等的 类数组 的数据结构。初始时,每个元素都等于 0。void set(index, val) - 会将指定索引…

【去除若依首页】有些小项目不需要首页,去除方法

第一步 // // // // // // // // // // // // // // // // // // 修改登录页 Login.vue 中 大概144行 ,注释掉原有跳转。替换为自己的跳转路径 // // // // // // // // // // // // // this.$router.push({ path: this.redirect || …

linux 设置打开文件数

可以使用下面的文件进行设置 /etc/security/limits.d/90-nproc.conf 先来看/etc/security/limits.d/90-nproc.conf 配置文件: [root ~]# cat /etc/security/limits.d/90-nproc.conf # Default limit for number of users processes to prevent # accidental fork…

TikTok矩阵玩法:如何最大程度地利用平台资源

在数字时代,TikTok已经成为全球范围内数亿用户的创意天堂,不仅仅是一个娱乐平台,还是一个创收的宝地。 TikTok矩阵玩法的崛起正在引领创作者们探索全新的变现方案,他们通过巧妙地利用平台资源,实现了前所未有的创收机…

李宏毅hw-6利用GAN生成动漫图像

一、查漏补缺、熟能生巧: 1.什么是转置卷积convTranspose、以及这种转置卷积怎么使用: (1)具体的原理直接看李沐老师的那个演示,非常清晰: 47 转置卷积【动手学深度学习v2】_哔哩哔哩_bilibili &#x…

从字符串中删除指定字符

任务描述 编写一个函数实现功能:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。例如:程序执行时输入字符串:turbo c and Borland c,从键盘输入字符n,则输出后变为:turbo c ad Borlad c。如…

【Java】全套云HIS(医院信息管理系统)源码包含EMR、LIS

云HIS系统简介 SaaS模式Java版云HIS系统源码,在公立二甲医院应用三年,经过多年持续优化和打磨,系统运行稳定、功能齐全,界面布局合理、操作简便。 1、融合B/S版电子病历系统,支持电子病历四级,HIS与电子病…

爬虫 — 验证码反爬

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

中央处理器(408)

一、基本结构 【2010统考】下列寄存器中,汇编语言程序员可见的是(B) A、MAR B、PC C、MDR D、IR 解析:IR、MAR、MDR是内部工作寄存器,对程序员不可见 可见:通用寄存器、程序状态字…

概率统计笔记:从韦恩图的角度区分 条件概率和联合概率

联合概率:两个或多个事件同时发生的概率。用 P(A∩B) 或 P(A,B) 表示 条件概率:在已知某个事件发生的条件下,另一个事件发生的概率。用P(A∣B) 表示在事件 B 发生的条件下,事件 A 发生的概率。 不难发现联合概率的样本空间更大&am…

基于Java的高校宣讲会管理系统设计与实现(亮点:选题新颖、功能实用、老师看见直接过!)

高校宣讲会管理系统 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序(小蔡coding)2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述 五、系统实现5.1 前…

Ubuntu22.04开启后屏幕黄屏

1. 故障现象 系统:Ubuntu22.04 现象:电脑从开机到进入桌面一直屏幕黄屏 2. 故障分析 可能为屏幕色彩调节出现故障 3. 解决方案 系统设置——》色彩——》删除原来的配置(remove profile)——》添加配置Colorspace:Compatibl…

加速乐源码(golang版本)

一、分析 分析过程网上有很多,这里只说个大概,主要是提供golang源码 请求网站,发现前两次请求都会返回521,第三次请求成功,说明前两次请求肯定是干了什么事情;使用接口请求工具模拟请求分析该过程 使用postman工具请求 a. 第一次请求会在响应头返回jsluid,返回内容中拼接…

华为OD机试 - 流水线 - 逻辑分析(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明 四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题&a…

提升前端开发效率:基于vue的van-radio-group组件封装指南

前言 vant 作为一款流行的 ui 框架,其中,van-radio-group 组件是一个常用的单选框组件,但有时我们需要根据项目需求进行定制化封装。本文将介绍如何基于 vue 框架封装 van-radio-group 组件,让我们一起来探索吧! 封装文…

EFK代替ELK方案7.17.3

文章目录 一. 传统的ELK二. EFK2.1 安装elasticSearch2.2 服务端安装fileBeats2.2.1. 安装 该也没有必要安装odcker,直接下载yum或官网jar包启动即可.2.2.2.编辑配置文件 filebeat-java-logback.yml2.2.3. es配置common_log_pipeline解析日志 三.启动测试 最近发现,logstash日志…

性能测试 —— Jmeter 常用三种定时器

1、同步定时器 位置:HTTP请求->定时器->Synchronizing Timer 当需要进行大量用户的并发测试时,为了让用户能真正的同时执行,添加同步定时器,用户阻塞线程,知道线程数达到预先配置的数值,才开始执行…

rk平台快捷键进入uboot模式和烧录模式

(1)进入U-boot命令行模式 上电时,多次按下ctrlc按键(2)进入maskrom烧录模式 方法一:上电时(或者reboot时),多次按下ctrlb 方法二:在uboot命令 手敲rbrom

vue3 - 使用reactive定义响应式数据进行赋值时,视图没有改变,值已经改变的解决方案

问题: 在Vue 3.0 中我们使用 reactive() 定义的响应式数据的时候,当是一个数组或对象时,我们直接进行赋值,发现数据已经修改成功,但是页⾯并没有自动渲染成最新的数据;这是为什么呢? 就如同官网…