返回题解分享
讨论 / 题解分享/ 帖子详情

最长不下降子序列 - 题解

input = open(0).readline

n = int(input())
a = list(map(int,input().split()))
dp = [0]*n + [0]
for i in range(n):
    # 找比a[i]小的中dp最大的
    b = max(list(filter(lambda x:a[x] <= a[i], range(i))) or [-1],key=lambda a:dp[a])
    dp[i] = dp[b] + 1
print(max(dp))
0 回复 0 转发 0 喜欢 2 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!