【LeetCode】1486. 数组异或操作。
给你两个整数,n 和 start 。
数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。
请返回 nums 中所有元素按位异或(XOR)后得到的结果。
class Solution {
public:
int xorOperation(int n, int start) {
int res = 0;
for(int i = 0; i < n; ++i){
res ^=(start + 2 * i);
}
return res;
}
};
时间复杂度:O(n)。这里用一重循环对 n 个数字进行异或。
空间复杂度:O(1)。这里只是用了常量级别的辅助空间。
时间空间复杂度已经最优。