数组中超过出现次数超过一半的数字
2012-08-27 22:00
197 查看
题目:数组中有一个数组出现的次数超过了数组长度的一半,找出这个数字。
答:
运行界面如下:
答:
#include "stdafx.h" #include <iostream> using namespace std; //查找数组中超过出现次数超过一半的数字 int FindNumber(int arr[], int length) { if (NULL == arr || length <= 0) { return -1; } int nValue = arr[0]; int count = 1; for (int i = 1; i < length; i++) { if (nValue == arr[i]) { count++; } else { if (count == 0) { nValue = arr[i]; count = 1; } count--; } } return nValue; } int _tmain(int argc, _TCHAR* argv[]) { int arr[] = {1, 2, 3, 4, 5, 2, 2, 2, 2, 3, 2}; cout<<FindNumber(arr, sizeof(arr)/sizeof(arr[0]))<<endl; return 0; }
运行界面如下:
相关文章推荐
- 数组中出现次数超过一半的数字 MoreThanHalfNum
- 数组中出现次数超过一半的一个数字
- 找数组中出现次数超过一半的数字
- 面试题29. 数组中出现次数超过一半的数字
- 关于数组的问题(连续子数组的最大和、数组中出现次数超过一半的数字、调整数组顺序使奇数位于偶数之前)
- 九度 题目1370:数组中出现次数超过一半的数字
- 面试题29:数组中出现次数超过一半的数字
- 面试题29:数组中出现次数超过一半的数字
- 九度_题目1370:数组中出现次数超过一半的数字
- 找出数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字
- 《剑指offer》数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字
- 【剑指Offer面试编程题】题目1370:数组中出现次数超过一半的数字--九度OJ
- 数组中出现次数超过一半的数字
- 剑指Offer 29 数组中出现次数超过一半的数字
- 【剑指offer之数组中出现次数超过一半的数字 】
- 剑指offer面试题[29]-数组中出现次数超过一半的数字