题意
给一个数组,里面除了一个数只出现了一次外,其他所有的数都出现了2次。求出只出现了1次的那个数。
要求:
O(n)时间,O(1)空间
思路
利用xor的性质:x ^ x = 0,x ^ 0 = x
代码
class Solution {
public:
int singleNumber(vector<int>& nums) {
int res = 0;
for (auto x : nums) {
res ^= x;
}
return res;
}
};

本文介绍了一个算法问题:在一个数组中,除了一个数只出现一次外,其他所有数都出现了两次,如何找出只出现一次的那个数。文章提供了一种解决方案,利用异或运算(xor)的特性来实现O(n)的时间复杂度和O(1)的空间复杂度。
434

被折叠的 条评论
为什么被折叠?



