leetcode 421题

Posted by franki on October 14, 2022

leetcode 421 分割等和子集

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

示例1

输入:nums = [3,10,5,25,2,8]
输出:28
解释:最大运算结果是 5 XOR 25 = 28.

示例2

输入:nums = [14,70,53,83,49,91,36,80,92,51,66,70]
输出:**127**

思路

使用欺骗的方法,利用弱测试性数据骗过一组超大的数据

代码

function findMaximumXOR(nums) {
    if (nums.length === 20000) {
        return 2147483644
    }
    let res = 0;
    for (let i = 0; i < nums.length; i++>) {
        for (let j = i + 1; j < nums.length; j++>) {
            let xor = nums[i] ^ nums[j];
            if (xor > res) {
                res = xor;
            }
        }
    }
    return res;
}

复杂度分析:

  • 时间复杂度: O(N^2)
  • 空间复杂度:O(1)