このアルゴリズムで動的計画法を使用して最長増加サブシーケンスを決定する方法に関する記事を読みました。
int maxLength = 1, bestEnd = 0;
DP[0] = 1;
prev[0] = -1;
for (int i = 1; i < N; i++)
{
DP[i] = 1;
prev[i] = -1;
for (int j = i - 1; j >= 0; j--)
if (DP[j] + 1 > DP[i] && array[j] < array[i])
{
DP[i] = DP[j] + 1;
prev[i] = j;
}
if (DP[i] > maxLength)
{
bestEnd = i;
maxLength = DP[i];
}
}
しかし、整数を結合した配列を取得できるというこの条件でこの問題を解決する方法を知りたいです。
For example: 1,5,3,1,5,6,7,8,1,2,9
we can have this set:1,3,5,6,7,8,12 for solution
that 12 is joint form 1 and 2
条件は次のとおりです。入力配列には 1 ~ 9 個の数字が含まれています。整数は、他のいくつかの整数から結合できます。