【算法题--异或操作】找出数组中唯一没有重复的那个元素

在我的博客上有一篇博文是提到C#里面的异或操作

https://www.cnblogs.com/wphl-27/p/17104240.html

有一个算法题是需要用到C#中的异或操作的,这道算法题就是获取一个数组中唯一没有重复的那个元素

比如有这么一个数组,数组长度为7,这7个元素分别为

A[0] = 9,  A[1] = 3,  A[2] = 9,  A[3] = 3,  A[4] = 9,  A[5] = 7,  A[6] = 9   => 可以看出,数组中唯一没有重复的元素是A[5] = 7 

我们需要写一个算法来找出这个唯一没有重复的元素

这个就是需要用到异或操作,如果两个数相同,那么它们异或^操作的结果就是0, 所以我只需要循环进行异或操作,得到的结果就是这个没有重复的元素

var result = A[0];
for(int i = 1; i < A.Length; i++)
{
      result = result ^ A[i];
}
return result;

 

posted on 2023-02-15 15:47  新西兰程序员  阅读(49)  评论(0编辑  收藏  举报