我有一個值序列[1,2,3,4,1,5,1,6,7],我必須找到最長的子序列增加長度。但是,一旦達到低於前一個數字的數字,該功能就需要停止計數。這種情況下的答案是[1,2,3,4]。因爲在重置之前它有4個值。我將如何爲此編寫Python代碼?從一個序列中提取最大長度的子序列[PYTHON]
注意:尋找「最長的增長子序列」似乎是一個常見的挑戰,因此在線搜索我找到了很多可以計算整個序列長度的解決方案,並返回一個遞增值的子序列,忽略任何減少,所以在這種情況下,它會返回[1,2,3,4,5,6,7]。這不是我正在尋找的。
它需要對每個子序列進行計數,並在達到低於前一個數字的數字時重置計數。然後它需要比較所有計數的子序列,並返回最長的子序列。
在此先感謝。
結果調用
max
這看起來很瑣碎的算法,明智的,你嘗試過解決呢? StackOverflow不是一個代碼寫入服務。 –輸入時應該返回什麼:'[1,2,3,9,2,3,4,5,3,0,1,2,3,4,5,6]' – nephi12
就像它被描述爲我的算法會存儲每個子序列的長度1,2,3 1,2,3,9是4個值,2,3,4,5是4,3是1個值,以及0,1,2,3,4,5, 6是6個值,所以它只會返回最後一個最長的子序列。 –