我一直在研究在数组中查找孤独整数的算法,这里是实现:
int arr[] = {10, 20, 30, 5, 20, 10, 30};
int LonelyInteger = 0;
for(int i=0; i< 7; i++)
{
LonelyInteger = LonelyInteger ^ arr[i];
}
Run Code Online (Sandbox Code Playgroud)
结果是5.
我的问题是 - 据说整数(由XOR操作产生)由于这个操作太大了:
LonelyInteger ^ arr[i]
Run Code Online (Sandbox Code Playgroud)
这导致一个潜在的大整数,int在这种情况下无法用数据类型表示.我的问题是:
XOR生成无法存储在int类型中的如此大的整数值?