找出数组中出现奇数次的元素

来源:互联网 发布:excel数据如何恢复 编辑:程序博客网 时间:2024/05/01 02:02

给定一个含有n个元素的整型数组a,其中只有一个元素出现奇数次,找出这个元素。

因为对于任意一个数k,有k ^ k = 0,k ^ 0 = k,所以将a中所有元素进行异或,那么个数为偶数的元素异或后都变成了0,只留下了个数为奇数的那个元素。

int FindElementWithOddCount(int *a, int n){    int r = a[0] ;    for (int i = 1; i < n; ++i)    {        r ^= a[i] ;    }    return r ;}

原创粉丝点击