原题链接:Single Number
分析:每个元素都出现了两次除了一个(好凄惨,就像一对一对的情侣中只有一条单身狗),现在要找出这条单身狗,哦不,这一个单独的数Single Number.
注意到,任何两个相同的整数 异或 的结果为0,和连连看一样,一对一对就消掉了,剩下一只消不掉的就是我们要的结果。
题解:
class Solution {
public:
int singleNumber(vector<int>& nums) {
/*
Time Complexity:O(N)
Space Complexity:O(1)
*/
int res=0;
for(int i=0;i<nums.size();i++)res^=nums[i];
return res;
}
};
本文介绍了一种通过异或操作解决单例数字问题的方法。在一组数据中,除了一个数字出现一次外,其余数字均出现两次。利用整数异或特性的算法实现,有效地找出那个唯一的单例数字。
481

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



