求高人指点给定一个无序数组,元素各异,给出一个算法,使得能够找出最大的连续序列的长度
给定一个无序数组,元素各异,给出一个算法,使得能够找出最大的连续序列的长度,比如数组[100,4,2,3,1],返回的是[1,2,3,4]的长度4,时间为O(n)[4,7,5,9,8]连续的串就是2
【1,100,5,4,2,3】是4
7 3 2 4 6 5答案是6
#include<stdio.h> int mostrlen(int ); int main() { int a[10]={2,4,6,1,3,5,12,9,10,23},b[10],i; for(i=0;i<10;i++) b[i]=mostrlen(a[i]); for(i=1;i<10;i++) { if(b[0]<b[i]) b[0]=b[i]; else continue; } printf("%d\n",b[0]); return 0; } int mostrlen(int s) { int a[10]={2,4,6,1,3,5,12,9,10,23},i,t=1; loop:for(i=0;i<10;i++) { if(a[i]==s+1) { t++; s+=1; goto loop; } else continue; } return t; }