PROB1028 最长连续上升子序列
描述:
给定一个长度为 n 的整数序列 a1,a2,⋯,an,求最长的连续上升子序列的长度。
连续上升子序列可以由两个下标 l 和 r (l≤r)确定,如果对于每个 l≤i<r,都有 ai<ai+1,那么子序列 al,al+1,⋯,ar就是一个连续上升子序列。
输入:
第一行包含一个整数 n,表示序列的长度,题目保证 1≤n≤10^4。
第二行包含 n 个整数 a1,a2,⋯,an,表示给定的整数序列,题目保证 −10^9≤ai≤10^9。
输出:
输出一个整数,表示最长的连续上升子序列的长度。
样例输入:
5 1 3 5 4 7
样例输出:
3
样例输入:
5 2 2 2 2 2
样例输出:
1
基于python实现的代码:
def longest_subsequence(n,numbers):
if n == 0:
return 0
max_length = 1
current_length = 1
for i in range(1,n):
if numbers[i] > numbers[i-1]:
current_length += 1
max_length = max(max_length, current_length)
else:
current_length = 1
return max_length
n = int(input().strip())
numbers = list(map(int,input().strip().split()))
print(longest_subsequence(n,numbers))