最长递增(或者非递减)子序列:如果存在多个这样的序列的话,就只需找出其中一个。并且,该序列中的元素在子集中也得保有其原有顺序。例如,对于 [3, 1, 0, 2, 4] 这个序列来说,[1, 2, 4] 就是它的一个解。
朴素版
遍历 + 判断
from itertools import combinations
def naive_lis(seq):
l = len(seq)
for length in range(l-1, 0, -1):
for sub in combinations(seq, length+1):
if list(sub) == sorted(sub):
return sub