查找数列中出现次数超过半数的主要成分

kx388263 程序题 共 个子题

时间限制: 2 Sec 内存限制: 128 MB

题目描述

从金星探测器传回来一组测量数据,这是一个长度为N (1≤N≤1000000) 的整数数列,数列中的每个整数代表某一种化学成分 (相同的整数代表相同的化学成分)。 主要成分:指在包含的所有化学成分中比例超过一半(N/2的结果向下取整)的成分。现在要判断其是否有主要成分;如果有,其主要成分是哪一种?

例如: 当N=7,整数数列为1 2 3 2 2 1 2,其中成分2有4个,超过了7的一半 (7的一半向下取整为3) ,所以主要成分是2。 当N=6,整数数列为1 102 3131 1 102,其中的每一种成分都只有2个,未超过6的一半(6的一半为3),所以没有主要成分。

输入

第一行输入一个正整数N (1≤N≤1000000),表示数列长度 第二行输入N个整数 (1≤整数≤2000000000) ,每个整数表示一种化学成分,两个整数之间用一个空格隔开

输出

输出一行,如果存在主要成分,则输出代表主要成分的整数,否则,输出No

样例输入

7
1 2 3 2 2 1 2

样例输出

2

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧