Kimi LeetCode 3681. 子序列最大 XOR 值 Python3实现

发布时间:2026/10/20 7:19:01

Kimi    LeetCode 3681. 子序列最大 XOR 值 Python3实现 LeetCode 3681. 子序列最大 XOR 值 — Python3 实现核心思路这道题的关键在于一个巧妙的转化题目要求选择两个允许重叠的子序列设它们的 XOR 分别为 X 和 Y求 X XOR Y 的最大值。对于每个元素 nums[i]它在 X XOR Y 中的贡献取决于它被两个子序列选中的情况子序列1 子序列2 对 X XOR Y 的贡献不选 不选 0选 不选 nums[i]不选 选 nums[i]选 选 0nums[i] XOR nums[i] 0因此每个元素要么贡献 0要么贡献 nums[i]。这意味着 任意子集的 XOR 值都可以被构造出来。于是问题转化为经典的 最大子集 XOR 问题用线性基XOR Basis解决时间复杂度 O(n \cdot 31)。---Python3 代码pythonclass Solution:def maxXorSubsequences(self, nums: list[int]) - int:# 线性基basis[i] 表示最高位为第 i 位的基向量# nums[i] 1e9 2^30所以 31 位足够basis [0] * 31for x in nums:cur x# 从高到低尝试消元for bit in range(30, -1, -1):if (cur bit) 1 0:continue # 当前位不是最高位跳过if basis[bit] ! 0:# 该位已有基向量用当前基向量消去这一位cur ^ basis[bit]else:# 该位没有基向量插入新的基向量basis[bit] curbreak# 如果 cur 最终变为 0说明该数线性相关无需插入# 贪心构造最大 XOR 值ans 0for bit in range(30, -1, -1):if (ans ^ basis[bit]) ans:ans ^ basis[bit]return ans---复杂度分析项目 复杂度 说明时间 O(n \cdot 31) 每个数最多处理 31 位空间 O(31) 固定大小的线性基数组---示例验证示例 1 nums [1, 2, 3]- 插入 1basis[0] 1- 插入 2basis[1] 2- 插入 33 XOR 2 11 XOR 1 0线性相关不插入- 贪心构造ans 0 → ans ^ 2 2 0ans 2ans ^ 1 3 2ans 3- 输出3 ✓示例 2 nums [5, 2]- 插入 5basis[2] 5- 插入 2basis[1] 2- 贪心构造ans 0 → ans ^ 5 5 0ans 5ans ^ 2 7 5ans 7- 输出7 ✓
延伸阅读

更多相关文章

2026/10/19 1:16:56

嵌入式从0到精通——Linux操作命令篇

总目录Linux基础C语言数据结构Linux应用软件开发单片机硬件开发(ARM)驱动开发一、Linux基础Linux:操作系统、内核1. 虚拟机快捷方式CtrlAlt T 打开终端CtrlShift ‘’ 放大终端Ctrl ‘-’ 缩小终端2. Linux相关命令命令行格式:linuxubuntu:~/20250905…

2026/10/19 18:56:10

NI HIL自动化测试12-Veristand01-Veristand Engine

Veristand Engine VeriStand 引擎是管控整套系统时序、以及下位机与上位机之间通信的执行机制。VeriStand 引擎执行硬件输入输出、运行模型、程序流程、报警功能与测试任务,并根据模型运行结果和硬件输入输出数据计算通道表内数值。该引擎既可在仿真模式下…

2026/10/20 3:23:15

图神经网络反爬对抗:从GCN检测模型到鲁棒性防御的攻防博弈

文章目录 每日一句正能量 摘要 一、引言:反爬虫检测的范式转移 1.1 传统方法的局限 1.2 GNN的独特优势 二、GNN反爬虫检测技术原理 2.1 图结构构建 2.2 图卷积神经网络(GCN) 2.3 图注意力网络(GAT) 三、对抗攻击:GNN检测的"阿喀琉斯之踵" 3.1 对抗攻击的基本原…

2026/10/20 7:16:32

从源码编译安装CMake 3.24.0:交叉编译与C++工程实践

简介:CMake 3.24.0 是跨平台、开源的构建系统管理工具,面向需要在 Windows、macOS、Linux 及嵌入式平台统一管理 C/C 项目构建的开发者。它通过 CMakeLists.txt 描述项目结构,生成 Makefile、Visual Studio 工程或 Ninja 构建文件&#xff0c…

2026/10/20 7:16:32

Unity UGUI摇杆四段式闭环实现:从触摸到角色移动

简介:本资源是一份面向Unity初学者与移动端开发者的UGUI摇杆交互实战教程,聚焦于零基础快速实现触摸屏摇杆控制物体移动的核心功能。内容涵盖UGUI摇杆的完整制作流程:从Canvas搭建、背景与滑块Image组件配置,到核心Joystick.cs脚本…

2026/10/20 7:11:31

放弃语言分支?无语言基础模型如何统一视觉异常检测

第一次读到《One Language-Free Foundation Model Is Enough for Universal Vision Anomaly Detection》这个标题时,我愣了一下。“Language-Free”和“Universal”,这两个词放在一篇异常检测论文里,多少有点互斥。过去两三年,基于…

2026/10/19 18:06:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/20 1:05:37

单片机C运行时从启动到多任务:中断安全与共享资源冲突

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

GCC编译四步详解:预处理、编译、汇编、链接实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

FIW线是什么?FEP注塑线与普通氟塑料线的区别及应用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑