小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树

news2024/11/29 11:33:56

小黑看完题解思路后代码

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def minCameraCover(self, root: Optional[TreeNode]) -> int:
        '''
            状态转移:
                0:无覆盖
                1:被覆盖
                2:放置摄像头
        '''
        self.result = 0
        # 定义递归函数
        def dfs(node):
            # 结点为空,当成已覆盖
            if not node:
                return 1
            # 后序遍历,判断孩子结点的顺序
            left = dfs(node.left)
            right = dfs(node.right)
            # 左右结点都被覆盖,则该结点不必覆盖
            if left == right == 1:
                return 0
            # 左右结点全是有相机的情况下,该结点被覆盖
            elif left == 2 and right == 2 :
                return 1
            # 其他情况,需要安装相机
            elif left == 0 or right == 0:
                self.result += 1
                return 2
            # 一个有相机 一个被覆盖,则这个被覆盖
            return 1
        root_status = dfs(root)
        # 如果root没有被覆盖,则安装相机
        if not root_status:
            self.result += 1
        return self.result

在这里插入图片描述

动态规划题解做法

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def minCameraCover(self, root: Optional[TreeNode]) -> int:
        '''
            状态转移:
                0:无覆盖
                1:被覆盖
                2:放置摄像头
        '''
        self.result = 0
        # 定义递归函数
        def dfs(node):
            # 结点为空,当成已覆盖
            if not node:
                return 1
            # 后序遍历,判断孩子结点的顺序
            left = dfs(node.left)
            right = dfs(node.right)
            # 左右结点都被覆盖,则该结点不必覆盖
            if left == right == 1:
                return 0
            # 左右结点有一个未被覆盖,则安装相机
            elif left == 0 or right == 0:
                self.result += 1
                return 2
            # 其他情况均为被覆盖
            return 1
        root_status = dfs(root)
        # 如果root没有被覆盖,则安装相机
        if not root_status:
            self.result += 1
        return self.result

在这里插入图片描述

小黑生活

周五的晚饭与月光

在这里插入图片描述

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

小汤2第21课学习打卡

在这里插入图片描述

剪个头清醒清醒

在这里插入图片描述

最近太憋了,去医院看看,还好没啥事

在这里插入图片描述

麦当劳小憩在这里插入图片描述

在这里插入图片描述

下午开启赶考之旅

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

在这里插入图片描述

下午考完搓个澡 足个疗 拔个罐 汗个蒸放松放松

请添加图片描述
在这里插入图片描述

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

在这里插入图片描述

回家路上再垫吧垫吧

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

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

第二天继续赶考,上午最后5分钟冲进考场

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

两个小时行测后,火速吃饭,来个达美乐

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

提前火速骑行2km赶往喜茶店,准备校招笔试在这里插入图片描述

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

最后十分钟,连闯红灯,最后一分钟火速到达考场

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

连续3个小时申论的挣扎,让小黑知道了什么叫认真的重在参与,从小到大从来没一口气写那么多字

在这里插入图片描述

尝试一下坐公交回家,却遭遇多起交通事故的堵车

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

终于到达北京西站,坐地铁回家

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

饭后红酒牛排吹起来

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

新书包到啦

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

开启早高峰干饭之旅

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

把按摩仪退了

在这里插入图片描述

午餐 刷题 面试 下午怒干双人餐

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

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

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

相关文章

前端、后台(ueditor)富文本的使用和回显

前端、后台富文本的使用前端如何配置ueditorjson文件注释一、html、js引用ueditor二、后端返回ueditor的json文件1.配置接受ueditor的接口三、回显效果图: 前端如何配置ueditor 下载ueditor资源文件地址: ueditor资源文件压缩包下载 下载解压后放在…

LLM笔记

LLM其实就是large language model,大语言模型。 AGI其实就是Artificial General Intelligence,通用人工智能。 如果对“最终任务”进一步进行分类,又大致可以分为两大不同类型的任务:自然语言理解类任务和自然语言生成类任务。如果…

YOLOv6: 面向工业应用的单阶段目标检测框架

论文地址:https://arxiv.org/pdf/2209.02976 代码地址:https://github.com/meituan/YOLOv6 多年来,YOLO 系列一直是高效目标检测的行业标准。 YOLO 社区蓬勃发展,丰富了其在众多硬件平台和丰富场景中的使用。在这份技术报告力求…

云原生Docker搭建chemex资产管理系统

这篇文章主要讲解如何使用Ubuntu系统安装Docker应用并且搭建Chemex资产管理系统 Chemex数据是存在数据库的,为了方便备份以及管理容器。可利用外部的数据库或者Docker搭建一个数据库出来。我这里就在Docker容器中创建一个Mysql数据库供Chemex资产管理系统使用。 一…

QQ浏览器是如何提升搜索相关性的?

导言 | 搜索相关性主要指衡量Query和Doc的匹配程度,是信息检索的核心基础任务之一,也是商业搜索引擎的体验优劣最朴素的评价维度之一。本文作者刘杰主要介绍QQ浏览器搜索相关性团队在相关性系统及算法方面的实践经历。值得一提的是,本文会特别…

数组常用方法总结 (2) :sort / join / reverse / concat

sort 排序后会改变原有数组。简单数组和对象数组都可以进行排序。默认升序排序。 <template><div class"myBlock"><div class"tableBlock"><div class"title">{{ newObject ? "操作后的数组" : "操作…

NEW | GOT Online支持多模式采集、Mono分析支持IL2CPP打包

在性能优化时&#xff0c;你是否也遇到过这样的困扰&#xff1a;和性能相关的参数非常多&#xff0c;为什么能保障广度&#xff0c;就没法保障深度&#xff1f;这是因为数据的获取本身存在打点消耗&#xff0c;如果获取全量数据势必存在大量打点操作&#xff0c;导致收集的数据…

定时任务、cron表达式、springBoot整合定时任务和异步任务-58

一&#xff1a;定时任务 1.1 官网地址 http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html 1.2 cron表达式 Cron表达式是一个字符串&#xff0c;字符串以5或6个空格隔开&#xff0c;分为6或7个域&#xff0c;每一个域代表一个含义&am…

Spring 教程

Spring 教程Spring 概述三层架构Spring 的优良特性使用 Spring 框架的好处依赖注入&#xff08;DI&#xff09;Spring 框架具有以下几个特点&#xff1a;1&#xff09;方便解耦&#xff0c;简化开发2&#xff09;方便集成各种优秀框架3&#xff09;降低 Java EE API 的使用难度…

如何集成GATEWAY作为网关(含网关404和503的解决办法)

新建model包 gateway 引入依赖 <dependencies><!--引入gateWay--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--新版本cloud去掉了负…

ESP32设备驱动-SHT31温度湿度传感器驱动

SHT31温度湿度传感器驱动 文章目录 SHT31温度湿度传感器驱动1、SHT31介绍2、硬件准备3、软件准备4、驱动实现1、SHT31介绍 SHT31 是 Sensirion 的下一代温湿度传感器。 它建立在一个新的 CMOSens 传感器芯片之上,该芯片是 Sensirion 新湿度和温度平台的核心。 与其前身相比,…

[数据库迁移]-LVM逻辑卷管理

[数据库迁移]-LVM逻辑卷管理 森格 | 2023年1月 1、本文旨在记录数据库迁移过程&#xff08;下云至机房&#xff09;中&#xff0c;对新磁盘做逻辑卷管理的过程&#xff0c;并对Linux的文件系统和分区做了相关介绍&#xff0c;如有不对之处&#xff0c;敬请指正。 2、对Linux文…

【实践】百度信息流推荐系统质效合一的交付系统建设

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2022年12月份热门报告盘点百度APP Feed流业务架构变迁思考和升级实践罗振宇2023年跨年演讲PPT原稿吴晓波2022年年终秀演讲PPT原稿《底层逻辑》高清配图‍基于深度学习的个性化…

数据结构:关于时间复杂度的例题计算

1、嵌套循环时间复杂度的计算 该程序&#xff0c;最上面的嵌套循环里&#xff0c;i每执行一次&#xff0c;j就执行N次&#xff0c;所以嵌套循环执行次数为N*N次&#xff1b;中间的k变量循环了2*N次&#xff1b;最后M变量循环10次。所以总共执行了 N*N2*N10 次&#xff01; 所以…

ERROR: Could not find a version that satisfies the requirement six>=1.9.0

问题分析 ERROR: Could not find a version that satisfies the requirement six>1.9.0 (from prompt-toolkit) (from versions: none) ERROR: No matching distribution found for six>1.9.0 出现这个问题的原因是python国内网络不稳定&#xff0c;用pip管理工具安装库…

websocket创建时附加额外信息 [如自定义headers信息(利用nginx)]

目录 情景描述&#xff1a; 解决方案 一、服务端要求前端创建websocket时附带的token&#xff0c;必须放在request的headers中&#xff08;常出现在第三方的合作中&#xff09;&#xff1b; 思路&#xff1a; 整体效果&#xff1a; 具体步骤&#xff1a; 二、服务端只需要获…

【Unity云消散】巩固step,lerp和smoothstep

之前在学习HLSL常用函数时就有涉及到范围相关的函数&#xff0c;但是最近做的东西发现step,lerp和smoothstep这三个函数总是一直在用&#xff0c;总是会在用的时候突然忘记他们分别是干啥的&#xff0c;这里就记录一下方便查看吧&#xff0c;形式大部分参考Unity Shader 极简实…

单绞机控制算法(线缆行业)

在了解单绞机之前需要大家对收放卷以及排线控制有一定的了解,不清楚的可以参看下面几篇博客,这里不再赘述,受水平和能力所限,文中难免出现错误和不足之处,诚恳的欢迎大家批评和指正。 收放卷行业开环闭环控制算法 PLC张力控制(开环闭环算法分析)_RXXW_Dor的博客-CSDN博…

whistle本地代理线上(vue项目)

安装whistle install -g whistle 安装好后&#xff0c;cmd控制台启动whistle “w2 start” 访问whistle本地前端 127.0.0.1:8899 &#xff08;一般是这个网址&#xff09; 这里要注意如果您当前使用的是https类型的域名&#xff0c;需要安装https证书&#xff0c;这样才能代…

ShardingSphere的强制路由不起作用

开启注释 开启hint 然后使用注释去查询&#xff1a;/* ShardingSphere hint: dataSourceNameds_db */