列表

详情


2527. 查询数组 Xor 美丽值

给你一个下标从 0 开始的整数数组 nums 。

三个下标 i ,j 和 k 的 有效值 定义为 ((nums[i] | nums[j]) & nums[k]) 。

一个数组的 xor 美丽值 是数组中所有满足 0 <= i, j, k < n  的三元组 (i, j, k) 的 有效值 的异或结果。

请你返回 nums 的 xor 美丽值。

注意:

 

示例 1:

输入:nums = [1,4]
输出:5
解释:
三元组和它们对应的有效值如下:
- (0,0,0) 有效值为 ((1 | 1) & 1) = 1
- (0,0,1) 有效值为 ((1 | 1) & 4) = 0
- (0,1,0) 有效值为 ((1 | 4) & 1) = 1
- (0,1,1) 有效值为 ((1 | 4) & 4) = 4
- (1,0,0) 有效值为 ((4 | 1) & 1) = 1
- (1,0,1) 有效值为 ((4 | 1) & 4) = 4
- (1,1,0) 有效值为 ((4 | 4) & 1) = 0
- (1,1,1) 有效值为 ((4 | 4) & 4) = 4 
数组的 xor 美丽值为所有有效值的按位异或 1 ^ 0 ^ 1 ^ 4 ^ 1 ^ 4 ^ 0 ^ 4 = 5 。

示例 2:

输入:nums = [15,45,20,2,34,35,5,44,32,30]
输出:34
解释:数组的 xor 美丽值为 34 。

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int xorBeauty(vector<int>& nums) { } };

python3 解法, 执行用时: 52 ms, 内存消耗: 25.6 MB, 提交时间: 2023-01-09 10:39:11

class Solution:
    def xorBeauty(self, nums: List[int]) -> int:
        return reduce(xor, nums)

golang 解法, 执行用时: 48 ms, 内存消耗: 9.5 MB, 提交时间: 2023-01-09 10:38:56

func xorBeauty(nums []int) (ans int) {
	for _, x := range nums {
		ans ^= x
	}
	return
}

python3 解法, 执行用时: 60 ms, 内存消耗: 25.6 MB, 提交时间: 2023-01-09 10:38:25

class Solution:
    def xorBeauty(self, nums: List[int]) -> int:
        res = 0
        for num in nums:
            res ^= num
        return res

cpp 解法, 执行用时: 76 ms, 内存消耗: 38.7 MB, 提交时间: 2023-01-09 10:38:00

class Solution {
public:
    int xorBeauty(vector<int>& nums) {
        int res = 0;
        for (auto num: nums){
            res ^= num;
        }
        return res;
    }
};

上一题