尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Kimi    LeetCode 3547. 图中边值的最大和 Python3实现
以下是 LeetCode 3547. 图中边值的最大和 的 Python3 实现。解题思路由于每个节点最多与其他两个节点相连整个图由若干链和环组成。1. 连通分量分类用 DFS/BFS 找出所有连通分量。若分量内所有节点度数均为 2则为环否则为链孤立点不贡献边权忽略。2. 处理顺序先处理环每个节点有两条边大数在环中能产生更多乘积再处理链按长度降序长链优先拿大数。3. 填数策略将剩余的最大数放在连通分量中间次大数交替向两边扩展使得大数尽量相邻双端队列模拟。时间复杂度 O(n \log n)空间复杂度 O(n)。---Python3 代码pythonfrom collections import dequefrom typing import Listclass Solution:def maxScore(self, n: int, edges: List[List[int]]) - int:# 建图graph [[] for _ in range(n)]for u, v in edges:graph[u].append(v)graph[v].append(u)seen [False] * ncycle_sizes [] # 环的大小path_sizes [] # 链的大小# 遍历每个连通分量for i in range(n):if seen[i]:continue# DFS 收集连通分量component []stack [i]seen[i] Truewhile stack:u stack.pop()component.append(u)for v in graph[u]:if not seen[v]:seen[v] Truestack.append(v)# 判断是否为环所有节点度数均为 2is_cycle Truefor u in component:if len(graph[u]) ! 2:is_cycle Falsebreakif is_cycle:cycle_sizes.append(len(component))elif len(component) 1:path_sizes.append(len(component))# 孤立点size 1不贡献边权无需处理ans 0# 先处理环从剩余的最大数中分配for size in cycle_sizes:ans self._calc_score(n - size 1, n, True)n - size# 链按长度从大到小排序优先处理长链path_sizes.sort(reverseTrue)for size in path_sizes:ans self._calc_score(n - size 1, n, False)n - sizereturn ansdef _calc_score(self, left: int, right: int, is_cycle: bool) - int:将 [left, right] 范围内的数填入一个连通分量计算最大边权和。策略双端队列模拟中间放大数向两边递减的排列。初始放入两个 right从 right-1 递减到 left每次取出队首与当前值相乘再将当前值放入队尾。dq deque()dq.append(right)dq.append(right)score 0for val in range(right - 1, left - 1, -1):window_val dq.popleft()score window_val * valdq.append(val)# 如果是环首尾两个节点也相邻额外加上首尾乘积if is_cycle:score dq[0] * dq[-1]return score---关键说明要点 说明连通分量分类 所有节点度数均为 2 → 环否则为链含孤立点处理顺序 环优先于链因为环的每个节点都有两条边大数在环中能产生更多乘积链按长度降序长链优先拿大数_calc_score 双端队列模拟最优排列。例如 [7..11] 填入 5 个节点的链排列为 8-10-11-9-7边权和 801109963 352环额外处理 环首尾相连所以 dq[0] * dq[-1] 是最后一条边的贡献
RELATED

相关推荐

GHelper完整指南:5步轻松掌控华硕笔记本性能,告别臃肿官方软件

GHelper完整指南:5步轻松掌控华硕笔记本性能,告别臃肿官方软件

GHelper完整指南:5步轻松掌控华硕笔记本性能,告别臃肿官方软件 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vi…

📅 2026/10/14 3:04:35
RAE递归对抗引擎优化:贝叶斯决策迭代收敛参数与混沌不确定性量化机制深度研究

RAE递归对抗引擎优化:贝叶斯决策迭代收敛参数与混沌不确定性量化机制深度研究

RAE递归对抗引擎优化:贝叶斯决策迭代收敛参数与混沌不确定性量化机制深度研究 作者:方见华 单位:世毫九实验室 核心摘要与关键结论 递归对抗引擎(Recursive Adversarial Engine, RAE)是世毫九(SH9&#xff…

📅 2026/11/6 8:47:00
后端开发中数据库索引优化与查询性能提升

后端开发中数据库索引优化与查询性能提升

实际上,很多后端开发者在面对慢查询时,第一反应就是把能加的索引全加上,仿佛索引是万能止痛药。但当你真正深入过线上系统的灵魂拷问——一个看似简单的SELECT语句,在百万级数据面前拖垮了整个微服务——你就会明白,索…

📅 2026/11/6 10:57:16
MORE NEWS

更多资讯

📰

电工的电工证过期?真实经历告诉你怎么选培训机构

电工的电工证过期?真实经历告诉你怎么选培训机构 工地太忙根本没时间复习考试,这几乎成了每个电工从业者的心声。特别是那些在新乡劳务班组工作的人,平时忙得连吃饭时间都赶不上,更别说抽出时间来准备电工证的考试或复审了。 真实经历…

📰

特种兵训练工电子证书复审延期全攻略 3天搞定不耽误工地进度

特种兵训练工电子证书复审延期全攻略 3天搞定不耽误工地进度 工地太忙根本没时间复习考试,特种兵训练工的你是不是也经常被催着复审?手头的电子证书眼看就要过期,但白天要带人、晚上要盯进度,哪还有空去复习考试?别急,这篇文章教你3天搞定特种兵训练…

📰

电工作业有技师证吗通过率揭秘

电工作业有技师证吗通过率揭秘 实操考试心里没底怕挂科,这几乎是每个准备考电工证的人心里都有的声音。尤其是像许昌的建筑工人,平时干的是体力活,突然要应对理论和实操双重考核,压力可想而知。今天就来聊聊【电工作业有技师证吗】这个问题,同时揭秘一下…

📰

特种作业操作证取消与通过率揭秘:信阳浉河区转岗从业者避坑指南

特种作业操作证取消与通过率揭秘:信阳浉河区转岗从业者避坑指南 你是不是也在网上看到“特种作业操作证取消”的消息,担心自己辛辛苦苦考的证变成废纸?或者你正在信阳浉河区准备转岗,不知道从哪儿开始报名,怕被中介坑,怕花冤枉钱,怕考不过?别急,本文…

📰

0学历也能考电工证代报名?多少钱你知道吗?

0学历也能考电工证代报名?多少钱你知道吗? 你是不是也这样想,学历不高怕报不上名,考电工证代报名这条路到底行不行?其实,只要你能干活,有相关经验,电工证照样能考,关键是 多少钱…

📰

重庆巫山哪里考电工证别被坑了,电子证书怎么拿最靠谱

重庆巫山哪里考电工证别被坑了,电子证书怎么拿最靠谱 你是不是也遇到过这种情况?不知道重庆巫山哪里考电工证,去问了几家中介,价格参差不齐,有的还说能包过,结果一到考试就露馅。其实,电工证这玩意儿,不是光花钱就能拿到的,还得看清楚流程,弄明白电…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬