Leetcode 3068. Find the Maximum Sum of Node Values
- Leetcode 3068. Find the Maximum Sum of Node Values
- 1. 解题思路
- 2. 代码实现
- 题目链接:3068. Find the Maximum Sum of Node Values
1. 解题思路
这一题虽然标记为一道hard的题目,但其实就是一个脑筋急转弯的题目。
我们只需要想明白一点即可:
- 由于异或操作满足
x^y^y = x,对于一棵联通树,我们总可以通过有限次对相邻边地操作,使得任意两点(u, v)转变为(u^z, v^z),而其他所有的节点都不发生变化。
因此,我们只需要计算出所有点如果进行异或操作之后可以得到的改变量,然后将其从大到小进行排序,两两配对之后考察最大能够获得多少累积增长即可。
2. 代码实现
给出python代码实现如下:
class Solution:def maximumValueSum(self, nums: List[int], k: int, edges: List[List[int]]) -> int:delta = sorted([(x ^ k) - x for i, x in enumerate(nums)], reverse=True)i, n = 0, len(delta)ans = sum(nums)while i+1 < n and delta[i] + delta[i+1] > 0:ans += delta[i] + delta[i+1]i += 2return ans
提交代码评测得到:耗时972ms,占用内存28MB。
相关文章:
Leetcode 3068. Find the Maximum Sum of Node Values
Leetcode 3068. Find the Maximum Sum of Node Values 1. 解题思路2. 代码实现 题目链接:3068. Find the Maximum Sum of Node Values 1. 解题思路 这一题虽然标记为一道hard的题目,但其实就是一个脑筋急转弯的题目。 我们只需要想明白一点即可&…...
用 Dockerfile为镜像添加SSH服务
1、基础镜像ubuntu:18.04 2、替换为国内的安装源 3、安装openssh-server 4、允许root用户远程登陆 5、暴露端口22 6、服务开机自启动 1.创建目录 [rootopenEuler-node1 db]# mkdir sshd_ubuntu 2.创建 Dockerfile、 run.sh 、authorized_keys、vim aliyun.list 文件 [rootop…...
Maven能解决什么问题?为什么要用?
如果没有maven,我们在开发一个应用的时候,需要自己先确定要引入哪些第三方的jar包,并且要去找到这些jar包,把他们导入到项目中,而且最痛苦的时候各个jar包之间的兼容性和冲突的问题。 jar包弄好了之后,我们…...
【Golang星辰图】探索网络和HTTP的奇妙世界:使用Go语言打造高性能应用
提升Web开发效率:学会使用Go语言的网络和HTTP库 前言 随着互联网的快速发展,网络和HTTP成为了现代应用开发中必不可少的部分。Go语言作为一门快速、可靠和高效的编程语言,提供了丰富的网络编程和HTTP处理库,使得构建高性能的网络…...
[C语言]——操作符
目录 一.算术操作符:、-、*、/、% 1. 和 - 2.* 3./ 4.% 二.赋值操作符:和复合赋值 1.连续赋值 2.复合赋值符 三.单目操作符:、--、、- 1.和-- 1.1前置 1.2后置 1.3前置-- 2. 和 - 四.强制类型转换 一.算术操作符:…...
iview碰到的一些问题总结
iview tabs嵌套使用问题 tabs嵌套使用的时候不是直接套用行了,直接套用会出现内层tab都集成到一级tab去,需要设置该属性指向对应 Tabs 的 name 字段(需要版本大于3.3.1) <Tabs name"tab1" ><TabPane label"标签1" tab&qu…...
【Python笔记-FastAPI】后台任务+WebSocket监控进度
目录 一、代码示例 二、执行说明 (一) 调用任务执行接口 (二) 监控任务进度 实现功能: 注册后台任务(如:邮件发送、文件处理等异步场景,不影响接口返回)监控后台任务执行进度(进度条功能)支…...
力扣hot100:15.三数之和(双指针/哈希表)
分析: 三数和问题,这里和两数之和不一样,返回的是值,因此可以对其进行排序,使用双指针。 一、一层循环双指针 class Solution { public:vector<vector<int>> threeSum(vector<int>& nums) {sort…...
VMware虚拟机使用Windows共享的文件夹
虚拟机版本为 VMware Workstation 16 Pro:16.2.4;主机位Windows11;记录于2024-03-05 在个人使用时,经常会有一些数据集等大文件重复在不同实验中使用,但是不同系统中来回使用会导致占用虚拟机空间,该博文通过将主机…...
利用Python自动化日常任务
在快节奏的现代生活中,时间就是一切。幸运的是,Python提供了一系列强大的库和工具,可以帮助我们自动化那些乏味且重复的任务,从而释放我们的时间,让我们可以专注于更有创造性和有意义的工作。下面,我们将探…...
Android的多线程和异步处理
在Android开发中,多线程和异步处理是处理耗时操作、提高应用响应性和性能的关键技术。以下是一些关于Android多线程和异步处理的基本概念和实践: 1. **主线程(UI线程)**: - Android应用的主线程负责处理UI操作和事…...
MySQL-----视图
一 视图 ▶ 介绍 视图view是一个虚拟表,非真实存在,其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用视图名称即可获取结果集,并可以将其当作表来使用。 数据库中存放了视图的定义&…...
LeetCode-02
225. 用队列实现栈 用两个队列实现栈的功能,思路如下: 往空队列中放新元素把非空队列中的元素依次放入刚才添加了新元素的队列,直到非空队列变为空队列 class MyStack(object):def __init__(self):self.queue1 []self.queue2 []def push(…...
瑞_Redis_Redis的Java客户端
文章目录 1 Redis的Java客户端1.1 Jedis快速入门1.1.1 入门案例1.1.1.1 项目构建1.1.1.2 引入依赖1.1.1.3 建立连接1.1.1.4 释放资源1.1.1.5 测试1.1.1.6 完整测试类代码 1.1.2 Jedis连接池1.1.2.1 连接池工具类1.1.2.2 改造原始代码 1.2 SpringDataRedis1.2.1 RedisTemplate1.…...
Cmake的使用
第一步:安装Cmake 双击点开即可,无脑下一步。 第二步:编写一个简单的Cmake项目 CMakeLists.txt文件 # 设置最低的 CMake 版本要求 cmake_minimum_required(VERSION 3.10)# 设置项目名称 project(MyProject)# 添加可执行文件 add_executabl…...
linux系统ELK组件介绍
ELK组件介绍 ELK组件介绍Elasticsearch:Logstash:Kibana:Kafka: Filebeat: ELK 官网地址:https://www.elastic.co 官网搭建:https://www.elastic.co/guide/index.html 组件介绍 Elasticsearch: 是一个基于Lucene的搜…...
回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测
回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测 目录 回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现BiTCN基于双向时间卷积网络的数据回归预测(完整源码和数据&a…...
Tailscale中继服务derper使用docker-compose部署
docker启动 docker run --restart always \--name derper -p 12345:12345 -p 3478:3478/udp \-v /root/.acme.sh/xxxx/:/app/certs \-e DERP_CERT_MODEmanual \-e DERP_ADDR12345 \-e DERP_DOMAINxxxx \-d ghcr.io/yangchuansheng/derper:latestdocker-compose启动 version: …...
Spring Cloud 实战系列之 Zuul 微服务网关搭建及配置
一、创建SpringBoot项目 用mavan搭建也可以。(重要的是后面pom里应该引入那些依赖,application.yml怎么配置) 由于开始构建项目时选择了Eureka Server,所以pom.xml中不需要手动添加依赖了 首先在启动类SpringcloudApplicatio…...
【数据结构】队列
前言: 本节博客是对基础数据结构队列的一种实现思路的分享,有需要借鉴即可。 1.队列的概念 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先 进先出FIFO(First In First Out) 入…...
Frida检测绕过本质:四大系统级锚点与工程化规避策略
1. 这不是“反检测”,而是对 Frida 运行机制的诚实理解很多人一看到“Frida 检测绕过”就本能地往“对抗”“隐藏”“伪装”上想,甚至直接去搜“frida hide”“frida stealth bypass”,结果踩进一堆过时、失效、逻辑错乱的 patch 坑里。我做过…...
Taotoken多模型聚合能力在内容生成场景中的灵活应用
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken多模型聚合能力在内容生成场景中的灵活应用 对于新媒体运营和内容创作者而言,内容生成是核心工作之一。不同的…...
利用Taotoken用量看板与成本管理功能精细化控制AI支出
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken用量看板与成本管理功能精细化控制AI支出 作为团队的技术负责人,在引入大模型能力支持多个研发项目时&…...
喜马拉雅音频下载神器:3步搞定VIP付费专辑的终极完整指南
喜马拉雅音频下载神器:3步搞定VIP付费专辑的终极完整指南 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 想要轻松下载…...
厦门大学:语音大模型——从语音识别到全双工语音交互 2026
这份文档由厦门大学洪青阳于 2026 年 5 月撰写,围绕语音大模型从语音识别到全双工语音交互展开,从背景、技术、模型、交互到应用系统梳理行业进展,核心总结如下:一、背景:语种、方言与交互范式演进语言基础:…...
3步快速上手:gmpublisher帮你轻松发布Garry‘s Mod工坊内容
3步快速上手:gmpublisher帮你轻松发布Garrys Mod工坊内容 【免费下载链接】gmpublisher ⚙️ Workshop Publishing Utility for Garrys Mod, written in Rust & Svelte and powered by Tauri 项目地址: https://gitcode.com/gh_mirrors/gm/gmpublisher 还…...
ZenTimings:AMD Ryzen用户的硬件监控与性能优化利器
ZenTimings:AMD Ryzen用户的硬件监控与性能优化利器 【免费下载链接】ZenTimings 项目地址: https://gitcode.com/gh_mirrors/ze/ZenTimings 在AMD Ryzen平台日益普及的今天,如何精准掌握硬件运行状态成为许多用户关心的问题。ZenTimings作为一款…...
深度解析Unity游戏实时翻译插件:XUnity.AutoTranslator的5大实战应用场景与架构设计
深度解析Unity游戏实时翻译插件:XUnity.AutoTranslator的5大实战应用场景与架构设计 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator是一款革命性的Unity游戏实时翻译插…...
QQ音乐加密音频一键解密:3步让Mac用户重获音乐自由
QQ音乐加密音频一键解密:3步让Mac用户重获音乐自由 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换…...
京东自动抢购工具:5分钟快速上手指南,轻松抢购心仪商品
京东自动抢购工具:5分钟快速上手指南,轻松抢购心仪商品 【免费下载链接】autobuy-jd 使用python语言的京东平台抢购脚本 项目地址: https://gitcode.com/gh_mirrors/au/autobuy-jd 还在为心仪商品秒杀时手速不够快而烦恼吗?Autobuy-JD…...
