Given an array of integers, every element appears twice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
class Solution {
public:
int singleNumber(int A[], int n) {
if (n == 1) {
return A[0];
}
int res = A[0];
for (int i = 1; i < n; i++) {
res ^= A[i];
}
return res;
}
};
本文介绍了一种线性时间复杂度的算法,用于在一个除了一个元素外所有元素都出现两次的整数数组中找到那个只出现一次的元素。该算法通过位操作实现,不需要额外内存。
721

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



