1 #include <stdio.h>
2 #define MAX 1000
3
4 void max_platform(int *target,int len);
5
6 int main()
7 {
8 int test[]={1,2,2,3,3,3,4,5,5,6};
9 int len=sizeof(test)/sizeof(int);
10 max_platform(test,len);
11 return 0;
12 }
13
14 void max_platform(int *target,int len)
15 {
16 int distance=1;
17 int result[MAX]={0};
18 result[0]=1;
19 int i,j;
20 int count=0;
21 for(i=0;i+distance<len; )
22 {
23 count++;
24 if(target[i+distance]==target[i])
25 result[i]=++distance;
26 else
27 i+=distance;
28 }
29 //打印出最长的平台
30 for(i=0;i<len;i++)
31 {
32 if(result[i]==distance)
33 {
34 printf("distance: %d\n",distance);
35 for(j=0;j<distance;j++)
36 printf("%d ",result[i]);
37 printf("\n");
38 }
39 }
40 printf("\n\ncount:%d\n",count);
41 }
1 for(int i=1;i<size;i++)
2 {
3 if(x[i]==x[i-L])
4 L++;
5 }