在Python中查找最长的严格递增然后递减的子列表的长度
假设我们有一个名为nums的数字列表。我们必须查找最长子列表的长度,使得(最小长度为3)其值严格递增然后递减。
因此,如果输入是nums = [7,1,3,5,2,0],则输出将是5,因为子列表[2,4,6,3,1]是严格递增然后递减的。
为了解决这个问题,我们将遵循以下步骤:
- i:= 0,n:=尺寸a,res:= -无穷大
- 当i < n-2时,进行如下操作
- st:= i
- linc:= 0,ldec:= 0
- 当i < n-1且a [i] < a [i + 1]时
- linc:= linc + 1
- i:= i + 1
- 当i < n-1且a [i]> a [i + 1]时
- ldec:= ldec + 1
- i:= i + 1
- 如果linc > 0且ldec > 0,则
- res:= res和(i-st + 1)的最大值
- 当i < n-1且a [i]与a [i + 1]相同时
- i:= i + 1
- 如果res >= 0,则返回res,否则返回0
让我们看一下以下实现以更好地理解