等值数列段
等值数列段
如果一个数列中的某一段(至少有两个元素)的各元素值均相同,则称之为等值数列段。等值数列段中元素的个数叫做等值数列段的长度。
输入:
由N个元素组成的整数数列A(其中N<=50)
输出:
A中长度最大的所有等值数列段的始末位置,如果没有等值数列段,则输出No equal number list.
说明:
始末位置是指数组下标,即0表示第一个元素。
如果有多个同等长度的等值数列,只输出第一个等值数列的起始位置。
当在一个LIST中出现两个等长的连续串的时候,我们的答案应该是第一个等长串。
帮忙,看下错拿了
#include<stdio.h>
main()
{
int k=0,n,i,j=0,max=0,m[50],a[50];
scanf("%d",&n);
for(;k<n;k++)
scanf("%d",a);
for(i=0;i<49;i++)
if(a[i]==a[i+1]) j++;
else
if(m[i]<i) m[i]=i,i=0;
for(i=0;i<50;i++)
if(max<a[i]) max=a[i];
if(j==0)
printf("No equal number list.\n");
else
printf("The longest equal number list is from %d to %d.\n",max-j,max)
}