当前位置: 首页 > article >正文

Leetcode 968-监控二叉树

给定一个二叉树,我们在树的节点上安装摄像头。

节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。

计算监控树的所有节点所需的最小摄像头数量。
在这里插入图片描述
在这里插入图片描述

题解

参考自代码随想录


class Solution {
    public int result=0;
    public int minCameraCover(TreeNode root) {
        if (dfs(root) == 0) { // root 无覆盖
            result++;
        }
        return result;
        
    }

    public int dfs(TreeNode root){
        //边界条件
        // 空节点,该节点有覆盖
        if (root == null) return 2;

        int left=dfs(root.left);
        int right=dfs(root.right);

        //左右子节点有一个没有覆盖,本节点需要装监控
        if(left==0||right==0){
            result++;
            return 1;
        }
        //左右子节点有一个有监控,本节点被覆盖
        if(left==1||right==1) return 2;
        else return 0;


    }
}

http://www.kler.cn/a/395093.html

相关文章:

  • SpringCloud 入门(4)—— 网关
  • Selenium 和 Playwright两大框架的不同之处
  • Hadoop集群(HDFS集群、YARN集群、MapReduce​计算框架)
  • 一个比RTK或redux更轻量级更易使用的 React 第三方状态管理工具库的配置与使用
  • java web springboot
  • 干货分享:ISO 20000认证的适用范围、认证资料清单、认证流程等问题详解
  • LVDS高速背板总线:打造分布式I/O高效数据传输新境界
  • SHA-256哈希函数
  • 国信证券造访图为科技,共探科技与资本交融新契机
  • 【2024软考架构案例题】你知道什么是 RESTful 风格吗?
  • python-有关等差数列的基础知识
  • Unity图形学之Shader2.0 Blurning
  • 《深度学习》VGG网络
  • 【算法】区间DP
  • A3超级计算机虚拟机,为大型语言模型LLM和AIGC提供强大算力支持
  • King3399(ubuntu文件系统)wifi设备树分析
  • 学习日志009--面向对象的编程
  • 前后端、网关、协议方面补充
  • 41页PPT | 华为业务流程架构全景视图:全业务域L1-L3级流程全案
  • python中父类和子类继承学习
  • Django处理前端请求的流程梳理
  • 通过命令学习k8s
  • ABAP开发学习——权限控制 实例1
  • PHP代码审计 - SQL注入
  • LeetCode面试经典150题C++实现,更新中
  • gcc 1.c和g++ 1.c编译阶段有什么区别?如何知道g++编译默认会定义_GNU_SOURCE?