当前位置:   article > 正文

找出数组中出现奇数次的元素_一个数组中只有一个相同元素是奇数个,怎么找出这个元素

一个数组中只有一个相同元素是奇数个,怎么找出这个元素

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

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

  1. int FindElementWithOddCount(int *a, int n)
  2. {
  3. int r = a[0] ;
  4. for (int i = 1; i < n; ++i)
  5. {
  6. r ^= a[i] ;
  7. }
  8. return r ;
  9. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/602430
推荐阅读
相关标签
  

闽ICP备14008679号