尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

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

Kimi    LeetCode 3681. 子序列最大 XOR 值 Java实现
📅 发布时间:2026/7/24 19:47:16

LeetCode 3681. 子序列最大 XOR 值 — Java 实现

核心思路

这道题的关键在于一个巧妙的转化:

题目要求选择两个允许重叠的子序列,设它们的 XOR 分别为 `X` 和 `Y`,求 `X XOR Y` 的最大值。

对于每个元素 `nums[i]`,它在 `X XOR Y` 中的贡献取决于它被两个子序列选中的情况:

子序列1 子序列2 对 `X XOR Y` 的贡献
不选 不选 0
选 不选 `nums[i]`
不选 选 `nums[i]`
选 选 0(`nums[i] XOR nums[i] = 0`)

因此,每个元素要么贡献 `0`,要么贡献 `nums[i]`。这意味着 任意子集的 XOR 值都可以被构造出来。

于是问题转化为经典的 最大子集 XOR 问题,用线性基(XOR Basis)解决,时间复杂度 O(n \cdot 31)。

---

Java 代码

```java
class Solution {
public int maxXorSubsequences(int[] nums) {
// 线性基,basis[i] 表示最高位为第 i 位的基向量
// nums[i] <= 1e9 < 2^30,所以 31 位足够
int[] basis = new int[31];

for (int x : nums) {
int cur = x;
// 从高到低尝试消元
for (int bit = 30; bit >= 0; bit--) {
if ((cur >> bit & 1) == 0) {
continue; // 当前位不是最高位,跳过
}
if (basis[bit] != 0) {
// 该位已有基向量,用当前基向量消去这一位
cur ^= basis[bit];
} else {
// 该位没有基向量,插入新的基向量
basis[bit] = cur;
break;
}
}
// 如果 cur 最终变为 0,说明该数线性相关,无需插入
}

// 贪心构造最大 XOR 值
int ans = 0;
for (int bit = 30; bit >= 0; bit--) {
if ((ans ^ basis[bit]) > ans) {
ans ^= basis[bit];
}
}
return ans;
}
}
```

---

复杂度分析

项目 复杂度 说明
时间 O(n \cdot 31) 每个数最多处理 31 位
空间 O(31) 固定大小的线性基数组

---

示例验证

示例 1: `nums = [1, 2, 3]`
- 插入 1:`basis[0] = 1`
- 插入 2:`basis[1] = 2`
- 插入 3:`3 XOR 2 = 1`,`1 XOR 1 = 0`,线性相关,不插入
- 贪心构造:`ans = 0 → ans ^ 2 = 2 > 0`,`ans = 2`;`ans ^ 1 = 3 > 2`,`ans = 3`
- 输出:3 ✓

示例 2: `nums = [5, 2]`
- 插入 5:`basis[2] = 5`
- 插入 2:`basis[1] = 2`
- 贪心构造:`ans = 0 → ans ^ 5 = 5 > 0`,`ans = 5`;`ans ^ 2 = 7 > 5`,`ans = 7`
- 输出:7 ✓

相关新闻

  • 基于YOLO与Qwen的烟草病虫害智能检测系统
  • 2026年7月浙江气缸/无限旋转气缸/MRHQ摆动旋转气缸/磁性开关公司哪家好,就选闪度科技有限公司 - 装修教育财税推荐2026
  • 腾讯:自适应剪枝优化高并发推理

最新新闻

  • 3分钟掌握Locale-Emulator:让日文游戏告别乱码的终极指南
  • 线性回归-学习笔记
  • 【易飞】易飞ERP全能WebAPI发布:全单据CRUD与审核流操作,RESTful风格覆盖所有版本
  • 三大核心优势:WorkshopDL如何成为Steam创意工坊下载的最佳选择
  • 我的音视频/流媒体/深度学习开源项目(github)
  • WeChatExporter终极指南:如何免费永久备份微信聊天记录

日新闻

  • 武汉卡地亚LOVE钻戒与钻石项链回收变现攻略|多家门店行情参考 - 大牌深度测评
  • 2026年无锡地区健康管理如何考量?四家机构业务体系概览
  • 2026图片去水印软件哪个好用 手机电脑免费工具盘点 - 免费软件工具方法教程

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号