返回主页

[数据结构 P2084] 已知一个整数序列 ,其中 。若存在 且 ,则称 为 的主元素。例如 ,则

 
学习人数: 484
 
正确率: 100%
答案解析

题目描述
未通过

(13分)已知一个整数序列\(A = (a_0, a_1, \cdots, a_{n - 1})\),其中\(0\leq a_i < n(0\leq i < n)\)。若存在\(a_{p1}=a_{p2}=\cdots = a_{pm}=x\)且\(m > n/2(0\leq p_k < n, 1\leq k\leq 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\)个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出\(A\)的主元素。若存在主元素,则输出该元素;否则输出 - 1。要求:
(1)给出算法的基本设计思想。(4分)
(2)根据设计思想,采用 C 或 C++或 Java 语言描述算法,关键之处给出注释。 (7分)
(3)说明你所设计算法的时间复杂度和空间复杂度。 (2分)


上一题
下一题
加入错题本
个人笔记
已有1条笔记

登录后提交答案


暂无评论,来抢沙发