1.连续子序列
dp 表示以该位置元素作为结尾的话,所取得的最长序列长度
def solution1(a,n):
dp = [0 for i in range(n)]
dp[0] = 1
for i in range(len(a)):
if a[i] > a[i-1]:
dp[i] = dp[i-1] +1
else:
dp[i]=1
print dp
return max(dp)
2 非连续子序列
dp 表示以该位置元素作为结尾的话,所取得的最长序列长度
def solution2(a,n):
dp = [0 for i in range(n)]
dp[0] = 1
for i in range(len(a)):
for j in range(i):
if a[i]>a[j]:
dp[i]= max(dp[i],dp[j]+1)
print dp
return max(dp)