AC: 最佳子数组要求算术平均数最大的前提下,越长越好。
简单的思路,找到最大值,并记录下最大值。然后遍历数组,只要找到连续的 最大值 并记录下来就是 最佳子数组。
#include<stdio.h>
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n;
scanf("%d",&n);
int a[n];
int max = 0;
for(int i = 0;i < n ;i++)
{
scanf("%d",&a[i]);
if(a[i] > max)
{
max = a[i];
}
}
int cnt = 0;
int ret = 1;
for(int i = 0;i < n ;i++)
{
if(a[i] == max)
{
cnt++;
}
else{
cnt =0;
}
if(ret < cnt)
{
ret = cnt;
}
}
printf("%d\n",ret);
}
return 0;
}