算法体系-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

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

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

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

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

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

【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系列能够直接获…

[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中。…

【漏洞分析】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.…

北航悉尼大学联合研发突破性高效AI技术:双重二值化方法重塑大型语言模型效率

论文题目: DB-LLM: Accurate Dual-Binarization for Efficient LLMs 论文链接: https://arxiv.org/abs/2402.11960 大型语言模型(LLMs)的双重二值化方法:新纪元的高效自然语言处理。随着大型语言模型(LLMs&…

Amazon SageMaker + Stable Diffusion 搭建文本生成图像模型

如果我们的计算机视觉系统要真正理解视觉世界,它们不仅必须能够识别图像,而且必须能够生成图像。文本到图像的 AI 模型仅根据简单的文字输入就可以生成图像。 近两年,以ChatGPT为代表的AIGC技术崭露头角,逐渐从学术研究的象牙塔迈…

应急救援装备无人机是否必要?无人机在应急救援中的具体应用案例有哪些?

无人机(Drone)是一种能够飞行并自主控制或远程操控的无人驾驶飞行器。它们通常由航空器、控制系统、通讯链路和电源系统组成,并可以根据任务需求搭载不同类型的传感器、摄像头、货物投放装置等设备。 无人机的种类繁多,从大小、形…

Android Handler使用介绍

Android 中的 Handler 是用来和线程通信的重要工具。它主要用于在后台线程中执行任务,并将结果传递回主线程以更新用户界面。 一、基本概念 线程间通信: Android 应用通常具有主线程(也称为 UI 线程)和后台线程。Handler 允许您从…