#include <iostream>
using namespace std;
int a[]={5,3,4,7,1,2,3,4,5,6};
int b[10]={0};//b[i]为以a[i]为结尾的最长单调递增子序列的长度
int MaxIncreaseSub(int n)
{
b[0]=1;
int bes=1,num=1;
for(int i=0;i<n-1;i++)
{
if(a[i]<a[i+1])
num++;
else
num=1;
if(num>bes)
{
bes=num;
//num=1;
}
b[i+1]=bes;
}
return bes;
}
int main()
{
int n=sizeof(a)/sizeof(int);
//cout<<n;
int res=MaxIncreaseSub(n);
cout<<res<<endl;
for(int i=0;i<10;i++)
{
cout<<b[i]<<" ";
}
return 0;
}
求最长单调递增子序列的长度
最新推荐文章于 2022-11-08 21:11:26 发布