【漫步刷题路】-找到数组中唯一成对出现的数字

简介: 第一步:先将数组全部数进行异或,结果记为:ret第二步:将ret和1- >n -1进行异或最后异或的结果就算重复的数

7a34fe554b7c48f0adc8a6f690934cc1.png

题目要求

1 -n 个数,数的范围是:1-> n-1,无序放在n+1个空间的数组中,数组中有一个数重复,找出重复的数


相似题目

之前博主也已经讲解过这类型的题目,也是通过异或解决,大家可以自行查看:

LeetCode-消失的数字

剑指offer-数组中数字出现的次数


1 3 2 4 2 放在5个空间的数组中 重复数字为2

方法

和找数组中只有一个数不重复基本一致 ->异或

  • 第一步:先将数组全部数进行异或,结果记为:ret
  • 第二步:将ret和1- >n -1进行异或
  • 最后异或的结果就算重复的数

如:

1 2 3 2 4  此时n = 5 共5个元素
数组所有元素异或:ret = 1^2^3^2^4
异或的结果ret和1-n的数进行异或,此时n=4  ret = 1^2^3^2^4^1^2^3^4 = 2
--重复的数字就是2

代码

int Repeat_num(int* arr,int n )
{
    int i = 0;
    int ret = 0;
    //ret和数组元素异或
    for(i = 0;i<n;i++)
    {
        ret ^= arr[i];
    }
    //ret和1 - n-1进行异或
    for(i =1 ;i<= n-1;i++)
    {
        ret^=i;
    }
    return ret;
}
int main()
{
    int arr[10] = {1,2,3,4,5,6,7,8,9,2};
    int ret = Repeat_num(arr,10);
    printf("%d\n",ret);
    return 0;
}
相关文章
|
并行计算 Docker 容器
Mamba 环境安装:causal-conv1d和mamba-ssm报错解决办法
Mamba 环境安装:causal-conv1d和mamba-ssm报错解决办法
5477 0
|
存储 数据可视化 C语言
[iOS研习记]聊聊iOS中的Mach-O
Mach-O的全称为Mach Object,是OS X与iOS上的一种可执行文件格式。Mach本身指一种操作系统的微内核标准,被用于OS X与iOS系统的内核中。相信对于移动端的iOS开发者来说,对Mach-O文件一定不陌生,我们编译打包的iOS IPA文件,内部其实就有一个可执行的Mach-O文件,我们开发的framework和.a等动态库静态库中,也会包含Mach-O文件,本篇文章,我们就来详细看看Mach-O中究竟放的是什么,Mach-O的结构是怎样的。
1128 0
|
10月前
|
运维 监控 安全
云市场SaaS产品每月推荐——奇墨ITQM
云市场SaaS产品每月推荐——奇墨ITQM
|
12月前
|
算法 Java 数据库
理解CAS算法原理
CAS(Compare and Swap,比较并交换)是一种无锁算法,用于实现多线程环境下的原子操作。它通过比较内存中的值与预期值是否相同来决定是否进行更新。JDK 5引入了基于CAS的乐观锁机制,替代了传统的synchronized独占锁,提升了并发性能。然而,CAS存在ABA问题、循环时间长开销大和只能保证单个共享变量原子性等缺点。为解决这些问题,可以使用版本号机制、合并多个变量或引入pause指令优化CPU执行效率。CAS广泛应用于JDK的原子类中,如AtomicInteger.incrementAndGet(),利用底层Unsafe库实现高效的无锁自增操作。
498 0
理解CAS算法原理
|
人工智能 关系型数据库 双11
2024阿里云双11优惠活动开启,云服务器79元一年起,能领代金券和上云补贴金
2024年阿里云双11优惠活动开启,云服务器低至79元一年起,涵盖云数据库、对象存储OSS、无影云电脑等产品,提供代金券、企业算力补贴及上云扶持金等多项优惠,助您轻松上云。
|
Shell
在Shell编程中,进程替换
在Shell编程中,进程替换
317 3
|
运维 监控 Cloud Native
茶百道全链路可观测实战
茶百道全链路可观测实战
2120 99
|
Java
左孩子右兄弟(Java详解)
左孩子右兄弟(Java详解)
337 0
|
iOS开发 UED 容器
navigationController 的使用详解
navigationController 的使用详解
|
JavaScript Java 测试技术
基于微信小程序的高校党费收缴系统的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的高校党费收缴系统的设计与实现(源码+lw+部署文档+讲解等)
207 0