剑指offer面试题 求数组中出现次数超过一半的数字

来源:互联网 发布:百姓网端口有什么用 编辑:程序博客网 时间:2024/06/05 17:59

题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。

例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现超过了5次,超过数组长度的一半,因此输出2。


解法一:基于Partition函数的O(n)解法



代码中的CheckInvalidArray函数用来判断输入的数组是不是无效的。

这个解法代码以后会补上。。




解法二:根据数组特点找出O(n)的算法







0 0