DeepSeek LeetCode LCP 16. 游乐园的游览计划 Java实现

发布时间:2026/8/21 8:10:07

DeepSeek    LeetCode LCP 16. 游乐园的游览计划 Java实现
这道题的核心是在无向图中找到两个共享顶点A的三角形A-B-C-A 和 A-B-C-A使得它们覆盖的不同顶点权值之和最大。由于数据规模较大顶点和边最多10000暴力枚举所有三角形会超时通常采用根号分治来优化。Java实现代码javaimport java.util.*;class Solution {public int maxWeight(int[][] edges, int[] value) {int n value.length;// 1. 建图邻接表用于遍历 邻接矩阵用于快速判断边是否存在ListInteger[] graph new List[n];boolean[][] hasEdge new boolean[n][n];for (int i 0; i n; i) graph[i] new ArrayList();for (int[] e : edges) {int u e[0], v e[1];graph[u].add(v);graph[v].add(u);hasEdge[u][v] hasEdge[v][u] true;}// 2. 根号分治度数 limit 的为“大点”否则为“小点”int limit (int) Math.sqrt(n);boolean[] isBig new boolean[n];for (int i 0; i n; i) {if (graph[i].size() limit) isBig[i] true;}// 存储每个顶点参与的三角形只存顶点三元组和权值和Listint[][] triByVertex new List[n];for (int i 0; i n; i) triByVertex[i] new ArrayList();// 3. 枚举所有三角形// 3.1 枚举小点 v枚举其两个邻居 a, b检查 a,b 是否相连for (int v 0; v n; v) {if (isBig[v]) continue;ListInteger adj graph[v];for (int i 0; i adj.size(); i) {for (int j i 1; j adj.size(); j) {int a adj.get(i), b adj.get(j);if (hasEdge[a][b]) {int sum value[v] value[a] value[b];triByVertex[v].add(new int[]{v, a, b, sum});triByVertex[a].add(new int[]{v, a, b, sum});triByVertex[b].add(new int[]{v, a, b, sum});}}}}// 3.2 枚举大点枚举任意三个大点检查是否两两相连ListInteger bigNodes new ArrayList();for (int i 0; i n; i) if (isBig[i]) bigNodes.add(i);for (int i 0; i bigNodes.size(); i) {for (int j i 1; j bigNodes.size(); j) {for (int k j 1; k bigNodes.size(); k) {int a bigNodes.get(i), b bigNodes.get(j), c bigNodes.get(k);if (hasEdge[a][b] hasEdge[a][c] hasEdge[b][c]) {int sum value[a] value[b] value[c];triByVertex[a].add(new int[]{a, b, c, sum});triByVertex[b].add(new int[]{a, b, c, sum});triByVertex[c].add(new int[]{a, b, c, sum});}}}}// 4. 计算答案枚举公共顶点 A找两个最优三角形组合int ans 0;for (int a 0; a n; a) {Listint[] tris triByVertex[a];if (tris.size() 2) {// 只有一个三角形时只能游玩一个答案就是该三角形的权值和if (tris.size() 1) ans Math.max(ans, tris.get(0)[3]);continue;}// 按权值和降序排序只需考虑前几个tris.sort((x, y) - y[3] - x[3]);// 尝试前 min(5, size) 个组合通常足够for (int i 0; i Math.min(5, tris.size()); i) {for (int j i 1; j Math.min(5, tris.size()); j) {int[] t1 tris.get(i), t2 tris.get(j);SetInteger set new HashSet();set.add(t1[0]); set.add(t1[1]); set.add(t1[2]);set.add(t2[0]); set.add(t2[1]); set.add(t2[2]);int sum 0;for (int node : set) sum value[node];ans Math.max(ans, sum);}}}return ans;}}复杂度分析· 时间复杂度O(N√N)在 N10000 的规模下可接受。· 空间复杂度O(N M)用于存储图、邻接矩阵及三角形信息。核心思路1. 问题转化将游玩路径抽象为两个共享顶点 A 的三角形。2. 高效找三角形利用“根号分治”平衡大小顶点的枚举开销避免 O(N^3) 的暴力。3. 枚举组合对每个顶点 A枚举其参与的所有三角形取两个去重后权值和最大的组合。4. 剪枝优化只需考虑每个顶点下权值和最大的前几个三角形进行组合无需全量枚举。

相关新闻

Face Director插件实战:四大后期软件自动化面部动画全流程指南

Face Director插件实战:四大后期软件自动化面部动画全流程指南

2026/8/21 8:10:07

在实际视频后期制作中,手动逐帧调整角色面部表情是一项极其耗时且对动画师要求极高的工作。无论是影视特效、广告包装还是短视频创作,让角色的口型与台词精准匹配,或者让面部表情跟随音乐节奏自然变化,都是提升作品专业度的关键。…

动态定价监控实战:从原理到Python实现峰谷价格提醒系统

动态定价监控实战:从原理到Python实现峰谷价格提醒系统

2026/8/21 8:10:07

你是不是也遇到过这种情况:在电商平台下单时,明明看到的是“优惠价”,结算时却发现总价莫名多了几块甚至几十块?或者,在订阅服务时,被复杂的“基础费服务费峰时溢价”搞得晕头转向,根本算不清自…

邮件安全解决方案

邮件安全解决方案

2026/8/21 8:00:06

依托2大自有平台,以大数据、深度分析和机器学习,形成自主精准情报源 专注于模糊哈希(静态相似)和恶意软件行为聚类分析(动态相似),形成智能聚合与关联分析 自研机器学习算法,智能检测…

SparkSQL 之 Spark On Hive 原理分析及配置

SparkSQL 之 Spark On Hive 原理分析及配置

2026/8/21 10:20:13

摘要:Spark on Hive 与 Hive on Spark 常被混淆——前者 Spark 是主角访问 Hive 元数据,后者 Hive 用 Spark 作执行引擎。本文从 enableHiveSupport() 启动流程、HiveExternalCatalog、Metastore 集成、SerDe/UDF、Thrift Server 多用户方案、以及两者对…

本地AI模型部署全攻略:从硬件选型到环境配置实战指南

本地AI模型部署全攻略:从硬件选型到环境配置实战指南

2026/8/21 10:20:13

最近在尝试本地部署AI模型时,你是否也卡在了第一步——面对琳琅满目的硬件配置和复杂的软件环境,不知从何下手?是咬牙上顶级显卡,还是用现有设备凑合?模型下载后为何报错连连,环境配置为何总出问题&#xf…

FanControl风扇控制软件完整上手教程:免费开源免安装,5分钟实现Windows风扇智能调速

FanControl风扇控制软件完整上手教程:免费开源免安装,5分钟实现Windows风扇智能调速

2026/8/21 10:20:13

FanControl风扇控制软件完整上手教程:免费开源免安装,5分钟实现Windows风扇智能调速 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址:…

三个平台同时“白嫖“视频号、抖音和小红书资源?这款免费跨平台资源嗅探下载工具真的能做到

三个平台同时“白嫖“视频号、抖音和小红书资源?这款免费跨平台资源嗅探下载工具真的能做到

2026/8/21 10:20:13

三个平台同时"白嫖"视频号、抖音和小红书资源?这款免费跨平台资源嗅探下载工具真的能做到 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub…

【QT】1.QT初识(背景介绍、搭建开发环境、Qt Creator、程序、项目文件解析、编程注意事项)

【QT】1.QT初识(背景介绍、搭建开发环境、Qt Creator、程序、项目文件解析、编程注意事项)

2026/8/21 10:20:13

【QT】1.QT初识一、Qt 背景介绍1.1 什么是 Qt1.2 Qt 的发展史1.3 Qt 支持的平台1.4 Qt 版本1.5 Qt 的优点1.6 Qt 的应用场景1.7 Qt 的成功案例二、搭建 Qt 开发环境2.1 Qt 的开发工具概述2.2 Qt SDK 的下载和安装2.3 Qt 环境变量配置2.4 验证 Qt SDK 安装是否成功三、认识 Qt C…

当监管要一份网络安全总结报告

当监管要一份网络安全总结报告

2026/8/21 10:10:12

前言 经常遇到上级要一份网络安全总结报告的情形,以下举例的格式是比较常见的一种,供大家参考。 网络安全检查总结报告例子 一、报告名称 XXX限公司2024年网络安全检查总结报告。 二、检查总结报告组成 (一)网络安全检查工作…

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

2026/8/19 3:36:59

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

2026/8/20 21:07:35

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

2026/8/19 8:02:16

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

091、主从同步控制策略

091、主从同步控制策略

2026/8/21 0:09:47

091、主从同步控制策略:从一次多轴抖动事故说起 去年调试一台四轴龙门平台,Z轴和两个X轴做主从同步。电机选的是台达A2系列,驱动器工作在位置模式,主站发脉冲指令,从站硬线跟随。调试时发现一个诡异现象:当主站以500rpm匀速运行时,从站电流波形每隔几秒会出现一次毛刺,…

向量检索实验失败后该查什么

向量检索实验失败后该查什么

2026/8/21 0:09:47

向量检索实验失败后该查什么 这篇要解决什么 向量检索实验失败后该查什么讨论的是一个可复查的工程问题。向量检索实验失败后该查什么不拿未经记录的事故、跑分或成本当作论据;判断需要回到当前项目的输入、版本和运行条件。 从边界开始 处理向量检索实验失败后该查…

提示词发布过程中的止损边界

提示词发布过程中的止损边界

2026/8/21 0:09:47

提示词发布过程中的止损边界 这篇要解决什么 提示词发布过程中的止损边界讨论的是一个可复查的工程问题。提示词发布过程中的止损边界不拿未经记录的事故、跑分或成本当作论据;判断需要回到当前项目的输入、版本和运行条件。 从边界开始 处理提示词发布过程中的止损…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/17 12:00:53

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/15 10:10:27

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/18 12:20:24

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…