首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知一个整数序列A=(a0,a1,…,an+1),其中0≤ai<n(0≤i<n)。若存在ap1=ap2=…=apm=x且m>n/2(0≤pk<n,1≤k≤m),则称x为A的主元素。例如A=(0,5,5,3,5,7,5,5),则5为主元素;又如A=(0,5,
已知一个整数序列A=(a0,a1,…,an+1),其中0≤ai<n(0≤i<n)。若存在ap1=ap2=…=apm=x且m>n/2(0≤pk<n,1≤k≤m),则称x为A的主元素。例如A=(0,5,5,3,5,7,5,5),则5为主元素;又如A=(0,5,
admin
2015-12-30
29
问题
已知一个整数序列A=(a
0
,a
1
,…,a
n+1
),其中0≤a
i
<n(0≤i<n)。若存在a
p1
=a
p2
=…=a
pm
=x且m>n/2(0≤p
k
<n,1≤k≤m),则称x为A的主元素。例如A=(0,5,5,3,5,7,5,5),则5为主元素;又如A=(0,5,5,3,5,1,5,7),则A中没有主元素。假设A中的n个元素保存在一个一维数组中,请设计一个尽可能高效的算法j找出A的主元素。若存在主元素,则输出该元素;否则输出-1。
要求:
根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法实现: int Majority(int A[],int n){ int i,c,count=1;//c用来保存候选主元素,count用来计数 c=A[0];//设置A[0]为候选主元素 for(i=1;i<n;i++)//查找候选主元素 if(A[i]==c) count++;//对A中的候选主元素计数 else if(count>0)//处理不是候选主元素的情况 count--; else{//更换候选主元素,重新计数 C=A[i]; count=1; } if(count>0) for(i=count=0;i<n;i++)//统计候选主元素的实际出现次数 if(A[i]==c) count++; if(count>n/2)return c;//确认候选主元素 else return -1;//不存在主元素 }
解析
转载请注明原文地址:https://kaotiyun.com/show/KKxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
“我军第二年作战的基本任务是:举行全国性的反攻,即以主力打到外线去,将战争引向国民党统治区域,在外线大量歼敌……”正确体现这一战略方针的军事行动是()
国民政府对日宣战的时间是()。
元代对边疆地区的统治方式不同于其他三地的一地是()。
第一国际成立的时间是()。
二战期间,下列四次战役的时间先后顺序是()①莫斯科战役②诺曼底登陆③不列颠之战④阿拉曼战役
简述工农武装割据存在与发展的原因和条件。
简述第二国际建立的社会历史条件。
下列对春秋时期各国称霸的顺序描述错误的选项是()
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
设计一个算法,求无向图G(采用邻接表存储)的连通分量个数。
随机试题
战争的性质取决于________________________。
下列句子中加横线词语属于名词活用为动词的一项是()
左下肺脓肿病人,住院治疗3个月余仍反复咯血,最佳治疗方案是
下列有关胎头吸引术的护理内容,正确的是
薄荷油某些染发剂
承担医药行业管理工作并拟定实施生物医药产业规划工作职能的部门是
气胸病人行闭式胸膜腔引流,错误的是()。
在社会工作者与受助家庭成员一起讨论如何解决面临的问题时,需要与受助家庭成员签订服务合同,其基本内容不包括()。
近年来,为避免煤矿安全事故的发生,很多煤矿主都加强了安全生产的重视程度。公开资料显示:2000年以前,中国煤矿事故每年死亡上万人。从2000年开始,每年事故死亡人数开始控制在7000人以下;2003年事故死亡人数为6434人;2004年死亡6027人;20
TheordinaryfamilyincolonialNorthAmericawasprimarilyconcernedwithsheerphysicalsurvivalandbeyondthat,itsowneco
最新回复
(
0
)