在很久很久以前,有一个这样的一个数组,数组中的元素成双作对,他们都快乐的生活在数组的乐园里,时光就这样悠悠的,不紧不慢的流逝着,
。。。。。
突然有一天一声怪异的犬吠声打破了原本宁静的数组乐园,数组乐园中多了一只单身狗,数组们面对单身狗的入侵毫无反抗之力,这时他们想到了找英勇无畏的程序猿帮忙,找出这只单身狗,干掉他!!!
给定一个数组如下
int arr[]={1,1,2,2,3,3,4,4,5,6,6,7,7};
输出:真相只有一个单身狗就是5!!!!
英勇无畏的程序猿:看我的
现出原形吧万恶的单身狗!!!!
#include<iostream>
#include<assert.h>
using namespace std;
int find_single(int arr[],int len)
{
assert(arr != NULL);
int res=0;
for (int i = 0; i < len; i++)
{
res = res^arr[i];
}
return res;
}
int main()
{
int arr[] = { 1, 3, 4, 2, 5, 2, 3, 4, 1 };
int len = sizeof(arr) / sizeof(arr[0]);
int res=find_single(arr,len);
cout << "真相只有一个单身狗就是"<<res<<"!!!!" << endl;
system("pause");
}
未完待续,详情见下一篇
寻找数组中的单身狗(二)狗二的传说