以下为ChatGPT自动生成的解答,正确与否请自行判断。
BFE.devAI解答 - JavaScript 代码题
162. 请找到未重复出现的整数
一种解决方法是使用HashMap来存储每个数字出现的次数,然后遍历HashMap找到只出现了一次的数字。时间复杂度为O(n),空间复杂度为O(n)。
另一种解决方法是使用异或运算(XOR),因为a XOR a = 0, a XOR 0 = a
,所以将数组中所有数字进行异或运算,最终结果即为只出现了一次的数字。时间复杂度为O(n),空间复杂度为O(1)。
以下是使用异或运算的实现代码:
function findSingle(arr) {
let res = 0;
for (let i = 0; i < arr.length; i++) {
res ^= arr[i];
}
return res;
}
其中,^
为异或运算符。