https://blog.csdn.net/FangXiaXin/article/details/80595797?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.no_search_link
原文思路在上面链接,但是代码不够正确,这里放一下我的代码,希望大家参考批评
#include<bits/stdc++.h>
using namespace std;
int n;
int a[10005];
int s[10005];
int main(){
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=0;i<n;i++){
s[i]=1;
for(int j=0;j<i;j++){
if(a[i]>a[j]&&s[j]>s[i]-1){
s[i]=s[j]+1;
}
}
}
int Maxlen=0;
for(int i=0;i<n;i++){
//cout<<s[i]<<' ';
Maxlen=max(Maxlen,s[i]);
}
cout<<Maxlen<<endl;
}