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

在我的博客上有一篇博文是提到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   新西兰程序员  阅读(64)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示