找出只出现过一次的两个数字
来源:互联网 发布:js中的focus 编辑:程序博客网 时间:2024/04/28 06:58
数组中,有两个数字只出现过一次,其余数字都出现两次,找出只出现过一次的两个数字。并且按照顺序输出。
a=[1,2,3,4,5,8,6,1,2,3,7,4,5,6]
8
7
a=[1,2,3,4,5,8,6,1,2,3,7,4,5,6]'''任何数字与0异或都是其本身,两个相同的数字异或为0。'''def yihuo(a):r=0for i in a:r^=i#print(r)return r'''根据异或值的1位,通过与运算,来分开原数组。'''def search():r=yihuo(a)p=0while r!=0:if r%2==1:breakr//=2p+=1a1,a2=[],[]for i in a:if i>>p&1==1:a1.append(i)else:a2.append(i)r1,r2=yihuo(a1),yihuo(a2)return r1,r2'''按顺序输出'''def printout():for i in a:if i in search():print(i)printout()
阅读全文
0 0
- 找出只出现过一次的两个数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字--总结
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- CoreCLR源码探索(八) JIT的工作原理(详解篇)
- 在知识分享的时代,你焦虑个毛啊
- 薪水支付案例(4)
- 详解Java中的clone方法 -- 原型模式
- C#Windows窗体程序:用trackBar控件制作调色板
- 找出只出现过一次的两个数字
- 基础集合论 第一章 4 子集
- 关于Halcon的离心机试管槽定位
- 网狐荣耀版斗地主第三个人进入开始时弹出
- D
- 静电场-2
- hibernate查询方式
- 【noip2011】聪明的质检员
- Kotlin协程(2)