解题思路:此方法用到了双指针法的灵活应用,如果看不懂的话,建议先搞懂双指针。

注意事项:

参考代码:

#include<stdio.h>

int main()

{int n,k,max=0,t;//t代表众数 

int s[50000];//定义一个数组,表示S重集 

int left,right;//left和right代表s[i]中的数i,这用到了双指针的方法 

scanf("%d",&n);

for(int i=0;i<n;i++)

scanf("%d",&s[i]);

for(int i=0;i<n;i++)

{       k=1;//令k=1,其中k代表重数 

       left=i;// 

      right=left+1;

while(right<n)

{        

     

if(s[left]==s[right])

{

k++;




}



right+=1;

}

      if(max<k)

     {

      max=k;

      t=s[left];

  } 

    

}

printf("%d\n",t);

printf("%d\n",max);


 } 


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论