一、题目地址
https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-lcof/comments/
二、具体代码
/**
* @param {number[]} nums
* @return {number[]}
*/
/*
思路:异或运算;
注意点:运算符的优先级问题, 该加括号提升运算优先级就要添加括号,否则会出错;
*/
// 时间复杂度: O(n)
// 空间复杂度: O(1)
var singleNumbers = function(nums) {
let x = 0, y = 0, n = 0, m = 1;
for(let i=0; i<nums.length; i++) {
n ^= nums[i];
}
while((n & m) === 0) {
m <<= 1;
}
for(let i=0; i<nums.length; i++) {
if((nums[i] & m) !== 0) {
x ^= nums[i];
}else {
y ^= nums[i];
}
}
return [x, y];
};
三、补充链接
四、补充部分
关注公众号:【深漂程序员小庄】:
内含丰富的学习资源和面试经验(不限前端、java),还有学习交流群可加,并且还有各大厂大佬可一起交流学习,一起进步~添加小庄微信,回复【加群】,可加入互联网技术交流群: