我可以通过普通函数和递归函数打印LIS的长度.但我想在C++中打印给定数组中的LIS子序列索引.
这是我找到LIS长度的函数:
int lis( int *arr, int n )
{
int *lis, i, j, max = 0;
lis = (int*) malloc ( sizeof( int ) * n );
for ( i = 0; i < n; i++ )
lis[i] = 1;
for ( i = 1; i < n; i++ )
for ( j = 0; j < i; j++ )
if ( arr[i] > arr[j] && lis[i] < lis[j] + 1)
lis[i] = lis[j] + 1;
for ( i …Run Code Online (Sandbox Code Playgroud)