说明:
算法应该具有线性时间复杂度。 不使用额外空间来实现。
核心思想:异或
#include<iostream>
#include<vector>
using namespace std;
int singleNumber(vector<int> & nums)
{
int res = 0;
for (auto &i : nums)
{
res ^= i;
}
return res;
}
int main()
{
int nums[11] = { 1, 5, 6, 3, 5, 2, 1, 8, 6, 3, 8 };
vector<int> v;
v.insert(v.begin(), nums, nums + 11);
cout << singleNumber(v);
system("pause");
return 0;
}
本文介绍了一种在不使用额外空间的情况下,利用异或运算找出数组中唯一出现一次的数字的算法。该算法具有线性时间复杂度,适用于大数据量场景,通过遍历数组并应用异或运算,最终得到目标数字。
1261

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



