最长上升子序列

xiaoxiao2021-02-27  474

最长上升子序列: int N,b[1100]={0},MaxLen[1100]={0}; MaxLen[1] = 1; //将信息输入到b数组中 for(i = 2;i<= N;i++)//每次求以第i个数为终点的最长上升子序列的长度 { int nTmp = 0; //记录满足条件的,第i个数左边的上升子序列的最大长度 for(j = 1; j < i; j++) //察看以第j个数为终点的最长上升子序列 if( b[i] > b[j] ) if( nTmp < MaxLen[j] )//保留子串的原长度 nTmp = MaxLen[j]; MaxLen[i] = nTmp + 1;//比较完成,加上自身 } int nMax = -1; for(i = 1; i <= N; i ++ ) if( nMax < MaxLen[i]) nMax = MaxLen[i]; nMax为最长上升子序列
转载请注明原文地址: https://www.6miu.com/read-2230.html

最新回复(0)