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

小黑看完题解思路后代码

# 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

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

动态规划题解做法

# 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

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

小黑生活

周五的晚饭与月光

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

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

小汤2第21课学习打卡

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

剪个头清醒清醒

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

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

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

麦当劳小憩小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第9张图片

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

下午开启赶考之旅

小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第11张图片
小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第12张图片
小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第13张图片小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第14张图片
小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第15张图片

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

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

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

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

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

回家路上再垫吧垫吧

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

在这里插入图片描述
小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第27张图片

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

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

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

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

提前火速骑行2km赶往喜茶店,准备校招笔试小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第33张图片

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

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

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

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

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

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

小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第39张图片
小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第40张图片
小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第41张图片
小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第42张图片
小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第43张图片小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第44张图片

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

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

饭后红酒牛排吹起来

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

新书包到啦

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

开启早高峰干饭之旅

小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第52张图片
在这里插入图片描述
小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第53张图片

把按摩仪退了

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

小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第54张图片
小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第55张图片
小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第56张图片
小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第57张图片
在这里插入图片描述
小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树_第58张图片

你可能感兴趣的:(小黑的日常leetcode之旅,leetcode,算法,深度优先)