Python | Leetcode Python题解之第310题最小高度树

news2024/11/15 13:33:11

题目:

题解:

class Solution:
    def findMinHeightTrees(self, n: int, edges: List[List[int]]) -> List[int]:
        if n == 1:
            return [0]

        g = [[] for _ in range(n)]
        deg = [0] * n
        for x, y in edges:
            g[x].append(y)
            g[y].append(x)
            deg[x] += 1
            deg[y] += 1

        q = [i for i, d in enumerate(deg) if d == 1]
        remainNodes = n
        while remainNodes > 2:
            remainNodes -= len(q)
            tmp = q
            q = []
            for x in tmp:
                for y in g[x]:
                    deg[y] -= 1
                    if deg[y] == 1:
                        q.append(y)
        return q

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

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

相关文章

太厉害了,使用WebGL SDK居然可以添加这么多图层!

想象一下,你在网页上展示一张地图,不仅有基本的点、线、面,还能叠加三维模型、高分辨率影像、地形数据,甚至实时的车辆轨迹。这听起来是不是很酷?今天,我们就来聊聊如何用Mapmost WebGL SDK,轻松…

【Unity Shader】切线空间下计算凹凸映射

// Upgrade NOTE: replaced mul(UNITY_MATRIX_MVP,*) with UnityObjectToClipPos(*)Shader "Unlit/NormalTangent" {Properties{_Color("Color Tint", Color) (1, 1, 1, 1)_MainTex("Main Tex", 2D) "While"{}//法线纹理_BumpMap(&q…

windows11高级电源设置中【睡眠】里面的 【在此时间后休眠】没有了

系统更新后发现电脑的定时休眠功能没了,打开电源选项发现【在此时间后休眠】这个功能直接没了如下 1、添加【在此时间后休眠】选项 step1: 用管理员身份打开命令提示符 step2:输入 reg add HKLM\System\CurrentControlSet\Control\Power /v …

[数据集][目标检测]辣椒病害成熟度检测数据集VOC+YOLO格式2748张5类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2748 标注数量(xml文件个数):2748 标注数量(txt文件个数):2748 标注…

cocos creator 3.x中动态加载 resources 文件夹下的图片时提示找不到

文件目录如下 类型为spriteFrame 代码案例 图片设置为 sprite-frame、texture 或其他图片类型后,将会在 资源管理器 中生成一个对应类型的资源。但如果直接加载 equipments/testea,得到的类型将会是 ImageAsset,必须指定路径到具体的子资源…

微信小程序开发之自定义组件

微信小程序支持自定义组件,允许开发者创建可复用的自定义组件库,提高开发效率并增强代码的可维护性。 自定义组件分为全局组件和局部组件。 一、下面展示全局组件 创建components 目录,如图所示: 创建组件文件夹: 利用微信开发…

常用排序算法的实现与介绍

常用排序算法的实现与介绍 在计算机科学中,排序算法是非常基础且重要的一类算法。本文将通过C语言代码实现,介绍几种常见的排序算法,包括冒泡排序、选择排序、插入排序和快速排序。以下是这些排序算法的具体实现和简要介绍。 1. 冒泡排序&am…

【Redis 进阶】主从复制(重点理解流程和原理)

在分布式系统中为了解决单点问题(某个服务器程序只有一个节点(只搞一个物理服务器来部署这个服务器程序)。可用性不高:如果这个机器挂了意味着服务就中断了;性能 / 支持的并发量比较有限)。通常会把数据复制…

免费插件集-illustrator插件-Ai插件-黄金比率绘图

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件,加强illustrator使用人员工作效率,绘制黄金比率示意图。首先从下载网址下载这款插件 https://download.csdn.net/download/m0_67316550/87890501&am…

【ESP32接入国产大模型之星火】

【ESP32接入国产大模型之星火】 1. 讯飞星火大模型1.1 了解星火 api1.2 Http接口鉴权1.3 http调用1.3.1 http请求结构体1.3.2 返回(response)参数1.3.3 错误响应 2. 先决条件2.1 环境配置2.2 所需零件 3. 核心代码3.1 源码分享3.2 源码解析 4. 上传验证4.1 对话测试4.2 报错 5.…

【MySQL】一文彻底吃透MVCC执行原理

1.MVCC是什么? MVCC全称Multi-Version Concurrency Control,即多版本并发控制。它通过维护数据的多个版本来实现高效的并发控制,用于在多个并发事务同时读写数据库时保持数据的一致性和隔离性。 在搞清楚MVCC的实现原理之前,还需…

一天攻克一个知识点 —— 设计模式之动态代理

一、设计模式之代理设计 代理设计是在Java开发中使用较多的一种设计模式,所谓的代理设计模式就是指一个代理主体操作真实主体,真实主体操作具体业务,代理主体负责给具体业务添砖加瓦。 就好比在生活中你有一套房子想要出租(你真实主体)&…

Mysql-窗口函数一

文章目录 1. 窗口函数概述1.1 介绍1.2 作用 2. 场景说明2.1 准备工作2.2 场景说明2.3 分析2.4 实现2.4.1 非窗口函数方式实现2.4.2 窗口函数方式实现 3. 窗口函数分类4. 窗口函数基础用法:OVER关键字4.1 语法4.2 场景一 :计算每个值和整体平均值的差值4.2.1 需求4.2…

免费的远程办公软件

产生背景 我们的SD-WAN组网的产品一直都是以CPE盒子的形式进行交付,如果您有多个企业分支,那么需要在每个分支安装一个CPE盒子。 这种形式存在一些问题: 成本过高,CPE盒子本身是有成本的,没办法做到免费使用&#xf…

用Maven构建项目和管理依赖

运行本篇中的代码:idea专业版或者idea社区版本(2021.1~2022.1.4) 用Maven构建项目和管理依赖 1. 初见maven2. maven在网站项目中的应用3. maven和idea的关系4. maven的使用4.1 项目构建4.11 在idea创建maven项目4.12 利用maven命令打包项目 4…

“QtGraphicalEffects“ is not installed

【1】问题:qml项目报 module "QtGraphicalEffects" is not installed 【2】解决方法:将qml目录中的"QtGraphicalEffects" 拷贝到工程release目录

3种 Ajax 方式:原生、jQuery、axios

毋庸多言,Ajax 技术在网页中是划时代的进步。学会它,可以说掌握了一招半式,不再是门外汉了。 这里将 3 种 Ajax 方式一并呈上。 感谢 https://run.uv.cc/ 平台,以及 /api 接口 https://andi.cn/page/621639.html https://andi…

用Java手写jvm之模拟类加载器加载class

写在前面 本文来尝试模拟类加载器加载class的过程。 1:程序 首先来定义类加载器类: /*** 类加载器* 正常应该有bootstrap,ext,app三个类加载器,这里简单起见,只用一个来模拟了*/ public class ClassLoa…

入门 PyQt6 看过来(案例)20~ 动态树

​ 1 QTreeWidget树类 QTreeWidget类可以呈现数组、数列等数据,并且可以进行交互,它使用标准的数据模型,其单元格数据通过QTableWidgetItem对象来实现。 QTreeWidget继承自QTreeView,是封装了默认Model的QTreeView,其…

C++ | Leetcode C++题解之第312题戳气球

题目&#xff1a; 题解&#xff1a; class Solution { public:int maxCoins(vector<int>& nums) {int n nums.size();vector<vector<int>> rec(n 2, vector<int>(n 2));vector<int> val(n 2);val[0] val[n 1] 1;for (int i 1; i &l…