题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。
分析:这是一道广为流传的面试题,包括百度、微软和Google 在内的多家公司都
曾经采用过这个题目。要几十分钟的时间里很好地解答这道题,
分析:这是一道广为流传的面试题,包括百度、微软和Google 在内的多家公司都
曾经采用过这个题目。要几十分钟的时间里很好地解答这道题,
除了较好的编程能力之外,还需要较快的反应和较强的逻辑思维能力。
HANDWRITING:
int search(int a[], int size) {
int tmp, count = 0;
for (int i = 0; i < size; ++i) {
if (count = 0) tmp = a[i];
else if (a[i] != tmp) --count;
else ++count;
}
return tmp;
}