1. 程式人生 > >Python “最短”挑戰(12.19)

Python “最短”挑戰(12.19)

Python “最短”挑戰(12.19)

Description

有一個長為n的數列a。請求出這個序列中最長的上升序列的長度。上升序列指的是對於任意的i,j都滿足a[i]<a[j]的子序列。
比如,[4,2,3,1,5]的最長上升序列的長度為3(2,3,5)。

Input

兩行,第一行一個數n,表示數列長度;第二行n個數,空格隔開,表示數列裡的數。

Output

最長上升序列長度。
其餘要求同首題

參考程式碼

n,a=int(input
()),list(map(int,input().split(' '))) print(max(sum(1 for j in range(i+1,n) if a[j]>a[i])+1 for i in range(n))) ''' ans=1 for i in range(n): buf=1 for j in range(i+1,n): if a[j]>a[i]: buf+=1 ans=max(ans,buf) print(ans) '''