简单的数据结构,数组哪儿有点绕,大家好好理解
#include <iostream>
using namespace std;
int a[100000+100],c[100000];
int main()
{
int n,i,j,l1=1,l2=0,k2=1,t;
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n-1;i++){
if(a[i]<a[i+1])
l1++; ///递增长度
else{
l2=1;
c[k2++]=i+1;
}
if(l2==1){
l2=0;
l1=1;
}
}
c[0]=0;
c[k2]=n;
t=c[1]-c[0];
for(j=1;j<k2;j++)
if(t<c[j+1]-c[j])
t=c[j+1]-c[j];
///找出最长长度
for(j=0;j<k2;j++){
if(c[j+1]-c[j]==t){
cout<<a[c[j]];
for(i=c[j]+1;i<c[j]+t;i++)
cout<<" "<<a[i];
break;
}///输出第一个最长长度
}
return 0;
}