首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知一个整数序列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
45
问题
已知一个整数序列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
学硕统考专业
相关试题推荐
1938年,英、法、德、意在德国召开会议讨论对捷克斯洛伐克的苏台德地区的问题,这次会议被称为(),它把英法的绥靖政策推到了顶峰,加速了二战的爆发。
“我军第二年作战的基本任务是:举行全国性的反攻,即以主力打到外线去,将战争引向国民党统治区域,在外线大量歼敌……”正确体现这一战略方针的军事行动是()
1933年5月,冯玉祥在张家口组织()。
(北魏孝文帝)“初谋南迁,恐众心恋旧,乃示为大举,因以胁定群情,外谋南伐,其实迁也。1日人怀土,多不所愿,内惮南征,无敢言者。于是定都洛阳。”上引材料不能说明的问题是()。
中国古代史分期问题的焦点有哪些?简述其代表人物及思想。(兰州大学2013年中国史基础真题)
简述工农武装割据存在与发展的原因和条件。
巴黎和会上,英美主张把原德国在山东的权利转让给日本,华盛顿会议又表示支持中国让日本归还山东的要求,英美态度发生变化的根本原因是()。
列宁在()报告中论证了在俄国实现和平过渡的可能性和必要性。
在下列四本部书中有可能记载“甘薯所在,局面便有半年之粮,民间渐次广种”一语的只能是()。
就绪队列中有n个进程等待使用一个CPU,那么,如果采用不同的调用算法,就有()种调度顺序。
随机试题
在具有多台交流异步电动机的电路中,熔断器的熔体额定电流选择原则错误的是()。
狭义的质量指的是
颈椎病发生的基本原因是
当事人不服人民法院第一审判决的,有权在判决书送达之次日起()向上一级人民法院提起上诉;当事人不服人民法院第一审裁定的,有权在裁定书送达之次日起()向上一级人民法院提起上诉。
根据《标准施工招标文件》,下列因不可抗力导致的后果中,由发包人承担责任的有()。
“长期借款”科目的期末账面余额,反映企业尚未偿还的各种长期借款的本金。()
拟写投标书应注意的事项有()。
通过竞争上岗,你成为一个部门负责人。如果原负责人成为你的部下,你将如何与他(她)处理好关系?
我们将尽快把技术资料寄给你们。
A、Trytobeveryconfidentinyourself.B、Trytoknowmoreabouttheinterviewers.C、Practiceaninterviewwithyourbestfriend
最新回复
(
0
)