如何找到数组中增量最大(非连续)的子集?例如,如果A =数组(50,1,4,9,2,18,6,3,7,10),则最大的非连续子集是(1,4,6,7,10)或( 1,2,6,7,10)。我可以直观地看到如何找到子集,但我不知道如何设计算法。

有帮助吗?

解决方案

维基百科有一个有效算法的伪代码:

http://en.wikipedia.org/wiki/Longest_increasing_subsequence_problem

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top