算法体系-14 第十四 贪心算法(上)

一 、 递归套路解决判断完全二叉树

1.1 描述

1.2 分析

1.3 代码

public static boolean isCBT2(Node head) {return process(head).isCBT;}public static class Info {public boolean isFull;public boolean isCBT;public int height;public Info(boolean full, boolean cbt, int h) {isFull = full;isCBT = cbt;height = h;}}public static Info process(Node x) {if (x == null) {return new Info(true, true, 0);}Info leftInfo = process(x.left);Info rightInfo = process(x.right);int height = Math.max(leftInfo.height, rightInfo.height) + 1;boolean isFull = leftInfo.isFull && rightInfo.isFull && leftInfo.height == rightInfo.height;boolean isCBT = false;if (leftInfo.isFull && rightInfo.isFull && leftInfo.height == rightInfo.height) {isCBT = true;} else if (leftInfo.isCBT && rightInfo.isFull && leftInfo.height == rightInfo.height + 1) {isCBT = true;} else if (leftInfo.isFull && rightInfo.isFull && leftInfo.height == rightInfo.height + 1) {isCBT = true;} else if (leftInfo.isFull && rightInfo.isCBT && leftInfo.height == rightInfo.height) {isCBT = true;}return new Info(isFull, isCBT, height);}

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

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

相关文章

UI自动测试框架-selenium(1) selenium介绍和选择器

目录 1.selenium是什么 2.定位元素 2.1 css选择器 2.1.1 选择id 2.1.2 class 2.1.3使用标签选择 2.1.4父类选择器 子类选择器 2.2 xpath 1.selenium是什么 selenium是用来做web端自动化测试的框架,它支持各种游览器,各种平台,支持各种语言(如 Python,Java,C#,JS,Ruby..…

[flask]flask的路由

路由的基本定义 路由就是一种映射关系。是绑定应用程序(视图)和url地址的一种一对一的映射关系!在开发过程中,编写项目时所使用的路由往往是指代了框架/项目中用于完成路由功能的类,这个类一般就是路由类,…

全国产飞腾+FPGA架构,支持B码+12网口+多串电力通讯管理机解决方案

行业痛点: 中国的电力网络已经成为当今世界覆盖范围最广、结构最为复杂的人造科技系统。随着国家和各部委颁布了一系列法律法规,如国家颁布的《中华人民共和国网络安全法》、工信部颁布的《工业控制系统信息安全防护指南》、发改委颁布的14号令《电力监控系统安全防…

基于微信小程序的电影票务系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…

python智慧农业小程序flask-django-php-nodejs

当今社会已经步入了科学技术进步和经济社会快速发展的新时期,国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也日益突出,人类的生存和思考方式也产生了变化。传统智慧农业采取了人工的管理方法,但这…

[C#] Xml 非法字符处理方法

Xml 非法字符处理方法 根据W3C的标准: //x00-//x08 //x0b-//x0c //x0e-//x1f 不允许出现在xml文件中。 解决办法 xml 处理前 替换非法字符 public static string ReplaceIllegalXmlCharacters(string xml) {// 使用正则表达式匹配非法字符,并进行替换…

python自定义日历库,与对应calendar库函数功能基本一致

目录 自定义日历库 常用列表 日期列表 常用函数 闰年判断 月份天数 元旦序号 日历表头 星期序号 序号及天数 月历字串 打印月历 年历字串 打印年历 对比测试 测试结果 完整代码 运行结果 自定义日历库 自定义日历库函数,并使得其与python calend…

国际期货英文版配资系统/VUE源码包搭建

要搭建一个国际期货英文版配资系统的Vue源码包,你需要遵循一系列的开发步骤。这涉及到前端和后端的开发,以及确保系统的安全性、稳定性和可扩展性。以下是一个大致的指南,帮助你开始这个项目: 1. 需求分析 用户角色与权限&#…

在 CentOS 7 下使用 Ansible Playbook 实现 MySQL 8.0.34 的二进制安装

要在 CentOS 7 下使用 Ansible Playbook 实现 MySQL 8.0.34 的二进制安装,需要先下载 MySQL 8.0.34 的二进制包,并将其上传至目标服务器。 以下是基于二进制包安装的一个简化示例 Playbook: --- # mysql8_binary_install_playbook.yaml- nam…

【SpringBoot】登录校验之会话技术、统一拦截技术

真正的登录功能应该是: 登陆后才能访问后端系统页面,不登陆则跳转登陆页面进行登陆。 当我们没有设置登录校验,可以直接通过修改地址栏直接进入管理系统内部,跳过登录页。而后端系统的增删改查功能,没有添加判断用户是…

DECO: Query-Based End-to-End Object Detection with ConvNets 学习笔记

论文地址:https://arxiv.org/pdf/2312.13735.pdf源码地址:https://github.com/xinghaochen/DECO 近年来,Detection Transformer (DETR) 及其变体在准确检测目标方面显示出巨大的潜力。对象查询机制使DETR系列能够直接获…

Semi-supervised Open-World Object Detection

Semi-supervised Open-World Object Detection 摘要1 介绍2.准备工作提出的SS-OWOD问题设置2.1 基础架构3 方法3.1整体架构摘要 传统的开放世界对象检测(OWOD)问题设置首先区分已知和未知类别,然后在后续任务中引入标签时逐步学习未知对象。然而,当前的OWOD公式在增量学习…

[pytorch] detr源码浅析

[pytorch] detr源码浅析 1. backbone部分2. encoder部分3. decoder部分4. 输出预测 为之后SAM的代码分析做铺垫 1. backbone部分 detr.py中的DETR class class DETR(nn.Module):def __init__(self, backbone, transformer, num_classes, num_queries, aux_lossFalse):...def …

78K0最小硬件系统分析

78K0最小硬件系统如下图所示。 在应用APPlilet2软件创建一个工程时,软件会第一时间弹出系统设置对话框和看门狗定时器设置对话框。这是对最小硬件系统的初始设置。包括如下选项: (1)系统时钟设置 体现在硬件初始化函数hdwinit中。…

C#使用ASP.NET Core Razor Pages构建网站(二)

上一篇文章讲了HTTP协议的基本概念、客户端Web开发技术以及ASP.NET Core框架的关键特点和创建项目方法 链接:C#使用ASP.NET Core Razor Pages构建网站(一) 接下来继续了解ASP.NET Core Razor Pages构建网站的后续内容 了解Razor Pages Razo…

【漏洞分析】Confluence 数据中心和服务器中的严重漏洞 CVE-2023-22515

Confluence 数据中心和服务器中的严重漏洞 CVE-2023-22515 一、简述二、利用(一)第一阶段 设置“设置过程尚未完成”(二)第二阶段,访问setupadministrator端点(三)、利用新创建管理员账户登录 三、POC 一、简述 Confluence 的开发者 Atlassian 已公告此…

易大师B版运势测算系统源码-八字周易运势塔罗-含视频搭建教程

2024最新易大师B版运势测算系统源码-八字周易运势塔罗等测算源码 基于上个版本再次做了数据优化和部分bug修复,青狐独家维护版本。 测算周易系统一直都是很好变现和运营的,玩法操作也比较简单,也很容易被百度收录推广。 大致功能&#xff1a…

Github Action Auto build docker Auto deploy

简介 整个流程比较清晰,实现的是基于Github 定向的往ECS做发布 探索 自动化打包发布一般流程: 本地环境打镜像 CI/CD 环境打镜像 以上的流程使用于比较大的项目,受限于环境,打算对上面流程做简化,使用github acti…

栈和队列的学习

存储方式分两类:顺序存储和链式存储 栈:只允许从一端进行数据插入和删除的线性表:先进后出 FILO 队列:只允许从一端进行数据插入,另一端进行数据删除的线性表:先进先出 FIFO 栈 创建空栈,创建…

(AtCoder Beginner Contest 327) --- F-Apples --- 题解 (一个比较难想的线段树题)

目录 F-Apples: 题目大意: ​编辑​编辑 思路解析: 代码实现: F-Apples: 题目大意: 样例解释: 思路解析: 题目要求我们选择任意一对S,L,让苹果满足 S-0.…