#include <stdio.h>
#define size 7
//返回数组的最大值
int maxlist(int arr[])
{
int temp=arr[0];
for(int i=1;i<size;i++)
{
if(temp<arr[i])temp=arr[i];
}
return temp;
}
//返回最长递增子串
int getmaxlen(int arr[])
{
int list[size]={0};
for(int i=0;i<size;i++)
{
list[0]=1;
for(int j=0;j<i;j++)
{
//判断当前的值比小于当前值的所有序列的最末尾值,如果更大,则更新数组
if(arr[i]>arr[j] && list[j]+1>list[i])
{
list[i]=list[j]+1;
}
}
}
return maxlist(list);
}
int main()
{
int test[10]={1,-1,2,-3,4,-5,6,-7};
printf("%d\n",getmaxlen(test));
return 0;
}
时间复杂度是:O(N^2)