新建1个list,存储第i个数字结尾的长度,初始为1。查找i之前的数字,如果有比它小的数字,有的话dp[i]=max(dp[i],dp[j]+1)
n=int(input()) arrs=list(map(int,input().split())) dp=[1 for i in range(n)] for i in range(1,n): for j in range(i): if arrs[i]>arrs[j]: dp[i]=max(dp[i],dp[j]+1) print(max(dp))



京公网安备 11010502036488号