欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

面试题29 数组中出现次数超过一半的数字

程序员文章站 2024-02-27 15:54:45
...

编程之美中的思路。

 

int MoreThanHalf(int A[], int length)
{
	if(A == NULL || length < 1) return 0;
	
	int result = A[0];
	int times = 1;
	for(int i = 1; i < length; ++i)
	{
		if(times == 0){
			result = A[i];
			times = 1;
		}else if(A[i] == result){
			++times;
		}else
			--times;	
	}
	return result;
	
}