更新时间:2022-09-18 21:54:21
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 }