解题思路:此方法用到了双指针法的灵活应用,如果看不懂的话,建议先搞懂双指针。
注意事项:
参考代码:
#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 人评分
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:692 |
奖学金 (C++代码)浏览:2008 |
简单的a+b (C语言代码)浏览:548 |
多输入输出练习1 (C语言代码)浏览:1187 |
回文数(一) (C语言代码)浏览:744 |
ASCII帮了大忙浏览:749 |
淘淘的名单 (C语言代码)浏览:1104 |
简单的a+b (C语言代码)浏览:528 |
Hello, world! (C++代码)浏览:1744 |
1118(求助_已解决)浏览:329 |