OJ练习第185题——数组中两个数的最大异或值

编程入门 行业动态 更新时间:2024-10-11 05:31:18

OJ练习第185题——数<a href=https://www.elefans.com/category/jswz/34/1771283.html style=组中两个数的最大异或值"/>

OJ练习第185题——数组中两个数的最大异或值

数组中两个数的最大异或值

力扣链接:421. 数组中两个数的最大异或值

题目描述

给你一个整数数组 nums ,返回 nums[i] XOR nums[j] 的最大运算结果,其中 0 ≤ i ≤ j < n 。

示例

官解思路

异或运算性质:

class Solution {static final int HIGH_BIT = 30;public int findMaximumXOR(int[] nums) {int x = 0;for(int k = HIGH_BIT; k >= 0; k--) {Set<Integer> seen = new HashSet<Integer>();for(int num : nums) {seen.add(num >> k);}int xNext = x * 2 + 1;boolean found = false;for(int num : nums) {if(seen.contains(xNext ^ (num >> k))) {found = true;break;}}if(found) {x = xNext;}else {x = xNext - 1;}}return x;}
}

更多推荐

OJ练习第185题——数组中两个数的最大异或值

本文发布于:2023-11-16 16:25:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1626550.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:组中   个数   OJ

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!