問題:提取子序列Python
給定一個數字序列,提取按升序排列的最大長度的子序列。
示例輸入:L = [1,3,5,6,1,5,1,6,7]
輸出:[1,3,5,6]
代碼:
def Sequence(integers):
sequence = []
i = 0
stored = []
#newseq = []
for i in range(len (integers)-1) :
if integers[i] <= integers[i+1]: #i less than i+1 append to sequence
stored.append(integers[i])
sequence.append(integers[i])
else:
if integers[i] >= integers[i+1]:
del sequence[:]
if len(stored) > (len(sequence)):
print('biggest subseq =',stored)
print('small sub',sequence)
print (stored,sequence)
Sequence([1,2,3,4,5,1,2,4,5])
錯誤:
據輸出[1, 2, 3, 4, 1, 2, 4] [1, 2, 4]
但應該輸出:[[1, 2, 3, 4,5] [1, 2, 4, 5]
我該如何解決這個問題?