提示
A⊕A=0A \oplus A = 0A⊕A=0
题目解析
任意数字与自己异或的结果为 000。
令原数组和为 sumsumsum,异或和为 xsumxsumxsum,那么显然我们可以在数组后添加两个元素:xsumxsumxsum 和 sum+xsumsum+xsumsum+xsum。
这样对于添加元素后的数组的和为 (sum+xsum)×2(sum+xsum) \times 2(sum+xsum)×2,异或和为 sum+xsumsum+xsumsum+xsum,满足题目要求。
AC代码
复杂度分析
遍历一遍数组求得 sumsumsum 和 xsumxsumxsum,时间复杂度 O(n)O(n)O(n)。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------