方法 dp[i] 表示 在前i+1 个中选 ,以nums[i] 结尾的,最长子序列长度。
Python 代码
N = 1010
if __name__ == '__main__':
n = int(input())
nums = list(map(int,input().split()))
f = [0 for _ in range(n+1)]
for i in range(n):
f[i] = 1
for j in range(i):
if nums[i]>nums[j]:
f[i] = max(f[i],f[j]+1)
ans = -2e9
for i in range(n):
if ans<f[i]:
ans = f[i]
print(ans)