我想找到按升序排序的数组的最大子集
说我有
a = [2, 1, 4, 6, 7]
a_max_subset = [1, 4, 6, 7]
b = [4, 1, 2]
b_max_subset = [1, 2]
c = [2, 5, 13, 8, 6, 23, 33]
c_max_subset = [2, 5, 8, 23, 33]
有一种有效的方法吗?
答案 0 :(得分:0)
您要查找的是Longest increasing subsequence。
您可以找到O(N ^ 2)实施here。它得到了很好的解释和评论。尝试理解解释并自己实现。
如果您真的很好奇,可以同时查看O(N logN)
solution。