经过半年的学习自己的<<数据结构和算法分析>>这么课程算是结束了,但是感觉自己收获甚少,所以利用暑假的时间自己希望重温数据结构和算法.
作为一名菜鸟,自己默默的努力吧.
#include <stdio.h>
#define N 1002
int a[N];
int dp(int a[],int len)
{
int i,k;
int b[N];
int tmp;
b[0]=1;
for(i=1;i<len;i++)
{
tmp = 1;
for(k=0;k<i;k++)
{
if(a[k]<a[i] && b[k]+1>tmp) tmp=b[k]+1;
}
b[i]=tmp;
}
tmp = 0;
for(i=0;i<len;i++) if(tmp<b[i]) tmp=b[i];
return tmp;
}
int main()
{
int i;
int count;
while((scanf("%d",&count))!=EOF)
{
for(i=0;i<count;i++)
scanf("%d",&a[i]);
printf("%d\n",dp(a,count));
}
return 0;
}
这是我接触的第一个算法.算是勉励自己吧.