class Solution {
public:
int xorBeauty(vector<int>& nums) {
}
};
2527. 查询数组 Xor 美丽值
给你一个下标从 0 开始的整数数组 nums
。
三个下标 i
,j
和 k
的 有效值 定义为 ((nums[i] | nums[j]) & nums[k])
。
一个数组的 xor 美丽值 是数组中所有满足 0 <= i, j, k < n
的三元组 (i, j, k)
的 有效值 的异或结果。
请你返回 nums
的 xor 美丽值。
注意:
val1 | val2
是 val1
和 val2
的按位或。val1 & val2
是 val1
和 val2
的按位与。
示例 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 。
提示:
1 <= nums.length <= 105
1 <= nums[i] <= 109
原站题解
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; } };