您的位置:首页 > 其它

最长上升子序列

2015-07-26 00:50 295 查看
//最长上升子序列
#include<stdio.h>
#include<memory.h>
#define MAX_N 1000
int b[MAX_N+10];
int aMaxLen[MAX_N+10];
int main()
{
int N;
int i=0,j=0;
scanf("%d",&N);
for(i=1;i<=N;i++)
scanf("%d",&b[i]);
aMaxLen[1]=1;
for(i=2;i<=N;i++){
int nTmp=0;
for(j=1;j<i;j++){
if(b[i]>b[j]){
if(nTmp<aMaxLen[j])
nTmp=aMaxLen[j];
}
}
aMaxLen[i]=nTmp+1;
}
int nMax=-1;
for(i=1;i<=N;i++)
if(nMax<aMaxLen[i])
nMax=aMaxLen[i];
printf("%d\n",nMax);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: