/*** @author zc*/
public class FindRepeatNumber {/**题目:在指定的数组中寻找重复的数字,假定当前数组中只有两个数字是相同的,并且不能借助其他容器*//**思路:* 1、借助位运算可以实现* 2、使用 异或(^) 的特性,如果一个数字被异或2次,那么这个数字就会被抵消* 3、将数组中的数字全部使用异或运算两次,重复的数字必定会被异或3次,由此就可以得到重复的数据* 扩展:位运算效率是最高的,比其他方式更加效率* */public static void main(String[] args) {int[] array =  new int[11];/**初始化数组*/for (int i = 0; i < array.length-1; i++) {array[i] = i + 1;}/**生成随机数*/Random random = new Random();/**nextInt():方法的取值范围包含0-9(不包含10这个数字,左开右闭),此时我希望取值范围是1-10,所以+1*/int number = random.nextInt(10) + 1;/***将随机数随机插入到数组中的一个位置*///1、获取以number为下标的元素的值int value = array[number];//2、将number为下标的元素的值替换为numberarray[number] = number;//3、将value调整到在数组最后的位置array[10]=value;/**插入随机数后的数据* */for (int i = 0; i < array.length; i++) {System.out.print(array[i] + " ");}System.out.println();/**寻找重复的数值* 思路:* 1、11个数字中,只包含1-10这几个数字,所以先使用getRepeat变量把从1-10这些数字全部异或运算一次* 2、然后在把数组array中的所有元素异或一次* 3、根据同一个数字被异或两次会抵消的特性,重复数字会被异或三次,由此可以获取到重复的数字* *///接受返回值int getRepeat = 0;//从1-10依次全部异或一次for (int i = 1; i <= array.length-1; i++) {getRepeat = getRepeat ^ i;}//根据异或特性,重复的数据会被异或三次,也就是说最后保留下来的只有重复的数据寻找到重复数据for (int i = 0; i < array.length; i++) {getRepeat = getRepeat ^ array[i];}System.out.println("重复的值为:"+getRepeat);}
}

最高效寻找重复数据,如何高效率的查找到数组中的重复值相关推荐

  1. 找出数组中不重复的值php_PHP查找数值数组中不重复最大和最小的10个数的方法...

    搜索热词 本文实例讲述了PHP查找数值数组中不重复最大和最小的10个数的方法.分享给大家供大家参考.具体如下: 1. PHP代码如下: PHP;"> //随机生成1万个元素的数组 fo ...

  2. LeetCode算法 删除有序数组中的重复项 删除有序数组中的重复项|| C++

    目录 题目 删除有序数组中的重复项 参考答案 题目 删除有序数组中的重复项|| 参考答案 题目 删除有序数组中的重复项 给你一个有序数组 nums ,请你原地删除重复出现的元素,使每个元素只出现一次 ...

  3. 算法-寻找数组中的重复值,四种解法

    算法-寻找数组中的重复值 寻找数组中的重复值 寻找数组中的重复值 题目来源于:Leetcode-287.本题归类到简单我无法理解-要满足四个条件需要用很特定的解法,面试中要是用到的话很可能是在给自己挖 ...

  4. vue删除数组中的一条数据_删除排序数组中的重复项 II

    删除排序数组中的重复项 II题目 给定一个增序排列数组 nums ,你需要在 原地 删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改 ...

  5. LeetCode 26 号问题 删除数组中的重复项

    删除数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条 ...

  6. lintcode :Remove Duplicates from Sorted Array II 删除排序数组中的重复数字 II

    题目: 删除排序数组中的重复数字 II 跟进"删除重复数字": 如果可以允许出现两次重复将如何处理? 样例 给出数组A =[1,1,1,2,2,3],你的函数应该返回长度5,此时A ...

  7. 从JS数组中删除重复的值[duplicate]

    本文翻译自:Remove duplicate values from JS array [duplicate] This question already has answers here : 这个问 ...

  8. [剑指offer][JAVA]面试题第[03]题[数组中的重复数字][HashSet]

    [问题描述][数组中的重复数字][简单] 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道 ...

  9. php 数组区删除重复的,php – 从数组中删除重复的项目

    我使用下面的代码行来遍历数据库中的一个表: $items_thread = $connection -> fetch_all($sql); 如果我打印出来的阵列: print_r($items_ ...

最新文章

  1. (chap1 web网络基础) HTTP协议相关的各个协议(1)
  2. 深入浅出 Java Concurrency (6): 锁机制 part 1[转]
  3. Docker制作镜像(四)
  4. 电子书格式,ePub将是趋势
  5. mx250 计算能力_mx250显卡性能怎么样,mx250显卡性能相当于GTX多少
  6. 成功解决 RecoveryYour PC/Device needs to be repairedThe Boot c onfiguration Data for your PC is missin
  7. Kesci--基于机器学习的故障检测系统
  8. div显示在上层_如何让div总是显示在最上层,而不致于被其他div遮挡
  9. Docker安装指定版本异常:Error: Package: docker-ce-17.03.1.ce-1.el7.centos.x86_64 (docker-ce-stable)
  10. 【RT-Thread Smart】ART-Pi Smart 开发板开箱及爱之初次体验
  11. java程序连接MinIO 报错The request signature we calculated does not match the signature you provided.
  12. 在ABAQUS中使用多孔介质模型
  13. qq能正常使用 网页打不开的解决办法
  14. linux系统中struct timeval结构体、struct timezone结构体以及gettimeofday函数
  15. python-django后台获取前端数据进行操作以及响应的方式
  16. 留住员工的10个方法,老板与管理者必读
  17. 增材制造案例“涡轮发动机与冬奥会冰刀”丨季华实验室
  18. 计算机导论中 网络课程的引入,依托学科课程体系的《计算机导论》课程改革...
  19. 总结几种常见的Word转换PDF方法
  20. python数据导入spss_关于多元线性回归分析——PythonSPSS

热门文章

  1. 计算机及其应用本课程,北京08自考计算机及应用(独本)课程设置
  2. qq邮箱html个签模板,qq邮箱个性签名模板
  3. 台式计算机电功率一般多大,笔记本电脑耗电吗?功率一般多大
  4. 区域治理杂志区域治理杂志社区域治理编辑部2022年第40期目录
  5. 28计算机表演赛获奖情况,20届无锡地区计算机表演赛获奖名单
  6. UM5202EEDFSOT-143工作电压5V用于高速线路保护的2线ESD保护二极管阵列管UM5202EEDF USB端口和以太网端口保护TVS二极管阵列,低泄漏电流和箝位电压25V结电容1PF
  7. 高质量c c++编程
  8. 2022软件测试面试题(不含答案)
  9. 深度学习入门---(1)神经元和激活函数
  10. 科大讯飞和Tizen-TTS语音合成引擎