- 题目要求
一个n维的未排序的自然数组,其中最大值为N,输出数组中出现最多的数及出现的次数,要求时间负责度为O(n)。
以下为我的思路:
(1)首先输入n的值和n个数的值a【n】
(2)遍历查找每个数后面的数有几个和它相同的并记录到b【n】
(3)看是否有重数,没有输出“没有重数”
(4)有重数检测哪个数重的次数最多,最多的次数记录
(5)输出最大值与最大值输出的次数
以下为对应代码:
include “stdio.h”
int main()
{
int n,a[20],i,j,flag=0,max;
int b[20]={0};//计数数组
scanf(“%d”,&n); //n值输入
for(i=0;i