首页 > 编程语言 >【算法题--异或操作】找出数组中唯一没有重复的那个元素

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

时间:2023-02-15 15:55:53浏览次数:40  
标签:-- 元素 算法 重复 异或 result 数组

在我的博客上有一篇博文是提到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;

 

标签:--,元素,算法,重复,异或,result,数组
From: https://www.cnblogs.com/wphl-27/p/17123262.html

相关文章

  • (1)记录//记录的定义形式typeMyRec=record aa:double; bb:Integer; cc:Char;end;//使用记录的方法如下:var Rec:MyRec;//先说明begin Rec.aa:=12......
  • m基于NSGAII的多机器多任务调度排序优化matlab仿真,考虑机器任务完成时间、机器总负荷
    1.算法描述       NSGA-II是基于的非支配排序的方法,在NSGA上进行改进,也是多目标进化优化领域一个里程碑式的一个算法。       NSGA-Ⅱ算法是Srinivas......
  • MySQL 安装教程
    MySQL安装教程MySQL下载地址:https://downloads.mysql.com/archives/community/这里下载mysql-5.7.28版本的。建议下载压缩包版的,方便卸载~1、解压压缩包,放到环境目录下......
  • 指针
    指针也就是内存地址,指针变量是用来存放内存地址的变量(1)指针变量的声明​ 指针类型声明的一般格式为:Type指针类型名=^类型;​ New过程创建一个新的动态变量,并把指......
  • 接口
    (1)抽象类​ Delphi中的抽象类只定义行为的类,它规定了由此派生的类必须具备的某些行为。但是抽象类不实现这些行为,而必须由其派生类去实现这些行为。所以它只是一种“抽象......
  • Klayout编译环境搭建
    前期准备首先参考官方编译指南https://www.klayout.de/build.html本次搭建使用的软件版本分别为VM16.2.3Ubuntu22.04QT5.12.12zilb使用apt安装最新版Ruby使用......
  • rpm包部署说明
    国产/linux专用机部署说明安装数据库mysql5.7(自行安装)在数据库中创建库前置需要创建的库名为->【ry_front】后置需要创建的库名为->【ry_later】进入MySQL,输......
  • 文件操作的函数——高级
    1.dup2(实现输入/输出重定向)头文件:#include<unistd.h>原型:intdup2(intoldfd,intnewfd);参数:oldfd:被复制的文件描述符newfd:新的文件描述符......
  • go 二维数组
    1.定义方式有两种1)先声明/定义,再赋值var数组名[大小][大小]类型funcmain(){//二维数组示例演示/*00000000100002......
  • 常量、变量、表达式
    (1)常量在声明时就要赋值。constabc=1234;全局变量可以在声明的同时赋值,局部变量不可以在声明时赋值,变量不可以在程序主体的begin.end之间声明。全局变量,有一个简单的区......