
本题用到离散数学方面知识
int singleNumber(int* nums, int numsSize)
{
unsigned one = 0, two = 0;
for (int i = 0; i < numsSize; i++)
{
one = (one ^ nums[i]) & (~two);
two = (two ^ nums[i]) & (~one);
}
return one;
}
本文解析了如何使用离散数学技巧实现intsingleNumber函数,通过位操作巧妙找出数组中唯一出现一次的整数。

本题用到离散数学方面知识
int singleNumber(int* nums, int numsSize)
{
unsigned one = 0, two = 0;
for (int i = 0; i < numsSize; i++)
{
one = (one ^ nums[i]) & (~two);
two = (two ^ nums[i]) & (~one);
}
return one;
}
1600
2886
374
542

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