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

Leetcode 3319. K-th Largest Perfect Subtree Size in Binary Tree

  • Leetcode 3319. K-th Largest Perfect Subtree Size in Binary Tree
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3319. K-th Largest Perfect Subtree Size in Binary Tree

1. 解题思路

这一题其实就是一个很常见的树的遍历,我们自底向上遍历每一个子树,看看其是否是完美二叉树,然后如果是的话将其结果存储下来然后找出第k大的结果即可。

2. 代码实现

给出python代码实现如下:

class Solution:def kthLargestPerfectSubtree(self, root: Optional[TreeNode], k: int) -> int:perfect_subtree = []def dfs(root):nonlocal perfect_subtreeif root is None:return True, 0left_is_perfect, left_cnt = dfs(root.left)right_is_perfect, right_cnt = dfs(root.right)if left_is_perfect and right_is_perfect and left_cnt == right_cnt:perfect_subtree.append(left_cnt + right_cnt + 1)return True, left_cnt + right_cnt + 1else:return False, left_cnt + right_cnt + 1dfs(root)perfect_subtree = sorted(perfect_subtree, reverse=True)return perfect_subtree[k-1] if len(perfect_subtree) >= k else -1

提交代码评测得到:耗时129ms,占用内存17.3MB。

http://www.lryc.cn/news/459839.html

相关文章:

  • 从秒级到小时级:TikTok等发布首篇面向长视频理解的多模态大语言模型全面综述
  • 【CTF】敏感信息泄露 GIT SVN VIM
  • EMQX服务器的搭建,实现本地机和虚拟机之间的MQTT通信(详细教程)
  • cordova的使用
  • 三种Transformer模型中的注意力机制介绍及Pytorch实现:从自注意力到因果自注意力
  • 《使用Gin框架构建分布式应用》阅读笔记:p20-p31
  • 如何修改MacOS的终端的配色和linux一样
  • 基于百度智能体开发爱情三十六计
  • 计算机网络:计算机网络概述 —— 描述计算机网络的参数
  • Windows 11系统选项卡详解:从新手到专家的操作指南
  • 乐鑫ESP32-S3无线方案,AI大模型中控屏智能升级,提升智能家居用户体验
  • postman变量,断言,参数化
  • Nginx实战指南:基础知识、配置详解及最佳实践全攻略
  • 百度搜索引擎(SEO)优化师的未来将何去何从?
  • 如何在UE5中创建加载屏幕(开场动画)?
  • 【WebGIS】Cesium:地形加载
  • 前端程序员策略:使用框架还是纯JavaScript?
  • npm 配置淘宝镜像
  • C++ include头文件的顺序以及双引号““和尖括号<>的区别
  • Flutter鸿蒙版本灵活使用方法间的回调处理复杂化的逻辑
  • 视频号直播自动回复与循环发送话术-自动化插件
  • springcloud之服务集群注册与发现 Eureka
  • C++:模拟实现list
  • 解锁5 大无水印热门短视频素材库
  • 【电商购物管理系统】Python+Django网页界面平台+商品管理+数据库
  • AD9248驱动的简易示波器设计——FPGA学习笔记21
  • 微软十月补丁星期二发现了 118 个漏洞
  • 到底是微服务,还是SOA?
  • JDK17常用新特性
  • 【分布式微服务云原生】探索负载均衡的艺术:深入理解与实践指南