寻找数组主元素C++
已知一个整数序列A长度为N其中若存在a且a的个数大于N/2则称为A的主元素
例如0 5 5 3 5 7 5 5 则为主元素 5
又如0 5 5 3 5 1 5 7则中没有主元素。
假设的元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出的主元素。若存在主元素则输出该元素否则输出-1。
【输入形式】
一个整数数组
【输出形式】
主元素
【样例输入】
0 5 5 3 5 7 5 5
【样例输出】
5
【样例说明】
长度为8,共有5个5。
如果用getchar函数判断输入是否结束:
在codeblocks中写:
do{
}while((ch=getchar()) != '\n');
提交到平台时,请修改成:
do{
}while((ch=getchar()) != EOF && ch != '\n');
【评分标准】
代码:
#include <iostream>