Например, если у меня есть список
[1,4,2,3,5,4,5,6,7,8,1,3,4,5,9,10,11]
Этот алгоритм должен вернуть [1,2,3,4,5,6,7,8,9,10,11].
Чтобы уточнить, самый длинный список должен идти вперед. Мне было интересно, как это сделать с алгоритмической эффективностью (желательно не за O (n ^ 2))?
Кроме того, я открыт для решения не на python, поскольку важен алгоритм.
Спасибо.