Kimi LeetCode 3547. 图中边值的最大和 Python3实现

发布时间:2026/7/13 0:35:26

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] 是最后一条边的贡献

相关新闻

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

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

2026/7/13 0:35:26

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…

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

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

2026/7/13 0:35:26

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

【车间调度FJSP】基于全球邻域和爬山优化算法的模糊柔性车间调度问题研究(Matlab代码实现)

【车间调度FJSP】基于全球邻域和爬山优化算法的模糊柔性车间调度问题研究(Matlab代码实现)

2026/7/13 0:35:26

👨‍🎓个人主页 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰&a…

MA12070与PIC18F46K40打造高效D类音频放大器方案

MA12070与PIC18F46K40打造高效D类音频放大器方案

2026/7/13 2:35:32

1. 项目背景与核心器件选型在当今音频设备市场,消费者对便携性与音质的要求越来越高。传统AB类放大器虽然音质出色,但效率低下导致设备笨重;而普通D类放大器虽效率高,却常因电磁干扰(EMI)问题影响音质。MA12070PIC18F46K40的组合恰…

Win10系统安装全攻略:从U盘启动到驱动优化的完整教程

Win10系统安装全攻略:从U盘启动到驱动优化的完整教程

2026/7/13 2:35:32

很多朋友在电脑使用过程中都会遇到系统卡顿、蓝屏或中毒等问题,这时候重装系统就成了最直接的解决方案。但一想到要找电脑店花几百元重装,很多人就望而却步了。其实Win10系统安装并不复杂,只要掌握正确方法,完全可以自己动手完成&…

网络安全深度洞察:穿透数字迷雾,构建下一代防御体系

网络安全深度洞察:穿透数字迷雾,构建下一代防御体系

2026/7/13 2:35:32

一、网络安全定义(动态攻防视角) 网络安全的本质,是在数字资产的暴露面与攻击者的入侵路径之间,建立持续性的不对称优势。它所保护的对象可以精炼为三个层面: 表层资产:应用程序、服务器、数据库、终端设备…

微信8.0.31数据库密码逆向:IMEI写死机制与SQLCipher加密破解

微信8.0.31数据库密码逆向:IMEI写死机制与SQLCipher加密破解

2026/7/13 2:35:32

1. 项目概述:从一份加密文件到可读的聊天记录如果你曾经因为手机故障需要恢复微信聊天记录,或者出于技术研究的目的,尝试过直接访问手机里那个名为EnMicroMsg.db的数据库文件,那你大概率会碰壁。这个文件是微信在本地存储聊天记录…

AI Agent开发实战:从RAG原理到LangChain应用完整指南

AI Agent开发实战:从RAG原理到LangChain应用完整指南

2026/7/13 2:35:32

1. 先搞清楚 AI Agent 开发到底需要哪些核心能力如果你刚开始接触 AI Agent,最容易被各种概念和框架绕晕。其实从实际开发角度看,AI Agent 的核心能力可以拆解为三个层次:第一层是基础编程能力。Python 是绕不开的,但不需要你成为…

Java移位运算:补码的魔法让负数秒变正数,你还在傻傻算原码?

Java移位运算:补码的魔法让负数秒变正数,你还在傻傻算原码?

2026/7/13 2:25:31

正数的反码是其本身 负数的反码是这样得到的, 在其原码的基础之上, 符号位保持不变, 其余各个 bit 位进行取反操作。 [+5](原码)= [](反码) [ …

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/12 0:03:42

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/12 0:03:42

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/12 0:03:42

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

卡梅德生物技术快报|纯化重组蛋白:变异链球菌 SepM 截短蛋白载体构建、诱导优化与纯化重组蛋白全套参数方案

卡梅德生物技术快报|纯化重组蛋白:变异链球菌 SepM 截短蛋白载体构建、诱导优化与纯化重组蛋白全套参数方案

2026/7/13 0:05:25

1 研究背景与现存技术痛点(提出问题)在口腔微生物分子机制研究中,SepM 蛋白酶是调控变异链球菌群体感应、致龋菌素合成的核心功能蛋白,体外功能验证、抗体开发均依赖高纯度可溶性 SepM 蛋白。当前原核表达体系针对 SepM 存在三大技…

卡梅德生物技术快报|重组蛋白的表达和纯化:IMAC 金属螯合色谱全流程工艺手册|基质 - 配基 - 金属离子匹配与蛋白质分离纯化参数优化

卡梅德生物技术快报|重组蛋白的表达和纯化:IMAC 金属螯合色谱全流程工艺手册|基质 - 配基 - 金属离子匹配与蛋白质分离纯化参数优化

2026/7/13 0:05:25

1 研究背景与现存技术痛点(提出问题)基因工程、蛋白质组学、生物制药研发流程中,蛋白质分离纯化是决定下游实验成败的关键环节。当前实验室常规蛋白质分离纯化工艺存在三类难以标准化的技术瓶颈:传统离子交换、分子筛层析无特异性…

卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

2026/7/13 0:05:25

研究痛点提出(提出问题)重组肠激酶是融合标签切除核心工具酶,当前原核表达体系存在三大标准化难题,直接阻碍可复现的蛋白质分离纯化流程搭建:Trx、GST、单 SUMO 标签融合产物绝大多数为包涵体,沉淀占比超 9…