出现两个单次出现的数

2016-11-10 18:28 阅读 367 次 评论 0 条

00:00/00:00
 

单次出现的数

问题:一个数组中只有两个数字是出现一次,其他所有数字都出现了两次,找出这两个数字,编程实现。

思路:因为数组中存在两个不相同的数,所以挨个异或必然有一个大于0的数,所以我们找出异或值的一个为1的数位,按照该数位是否为0将数组分成两个子数组A和B,A中的数有异或结果不为1的一个元素,B含有的元素中有两个不同数字的另外一个,其他也都是两两相同的数字,再分别进行异或,即可求得两个数。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:出现两个单次出现的数 | 术与道的分享
分类:编程素养 标签:,
1024do.com导航_术与道导航平台

发表评论


表情