本文主要是介绍找出一个数组中超过一半相同的数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
给定一个数组a,其中超过一半的数为一个定值(相同),在不进行排序。不开设额外数组的情况下,以最高的效率写出这个算法,并返回这个数 、
解法:
依次用数组中每个元素与其他元素 异或, 记录为0的个数(为0表示2数相等)
若为0的个数大于数组长度的一半,这个数就是要找的数。
这篇关于找出一个数组中超过一半相同的数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!