以下为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;}
其中,^
为异或运算符。