最长递增子序列之动态规划(C语言实现)

算法步骤: (1)设置一个mark[]数组,mark[]数组的个数和原序列data[]的个数相等,mark[i]表示以data[i]做为结尾的最长递增子序列的长度; (2)在肯定mark[i]时,在0到i-1中找到这样一个k,使得data[k]<data[i]且mark[k]=MAX{mark[0]…mark[i-1]}。若存在这样的k,则mark[i]=mark[k]+1;不然mark[k]=1
相关文章
相关标签/搜索