解题思路
题目要求在灯笼尺寸序列中,找到最长的连续非递增区域。
非递增的含义是:对于连续区域中的相邻两个灯笼,后一个灯笼尺寸不能大于前一个灯笼尺寸,即满足:
nums[i]≤nums[i−1]
我们从左到右扫描数组,维护当前连续非递增区域的起点和长度。
P14188.美观的灯笼(100分)
题目内容
春节将至,工人要在古镇老街挂灯笼。街上有 N 个挂灯点,每个点因建筑结构不同,工人挂上的灯笼的尺寸M也不同(数值越大表示灯笼越大)。
工人认为美观的灯笼必须按非递增尺寸顺序挂置,即后续灯笼尺寸不能超过当前灯笼(只能相同或更小)。
工人完成灯笼挂接后,需要你代替他判断:
1、这排灯笼里,满足美观定义的最长连续灯笼区域有多少个灯笼;
2、这段最长连续区域是从哪个挂灯点开始?(当存在多个最长连续区域时选择最左边的挂灯点)
输入描述
N 个正整数 M(1≤M≤100),表示每个挂灯点所挂的灯笼尺寸。
输出描述
输出两个整数:第一个是符合题意的灯笼数,第二个是开始挂灯笼的挂灯点位置(从 0 开始计数)。
样例1
输入
[5,3,4,4,2,1]
输出
[4,2]
说明
灯笼尺寸序列为 [5,3,4,4,2,1]。存在长度为4的非递增连续子序列:[4,4,2,1](位置 2−5)。
样例2
输入
[5,4,3,2,1]
输出
[5,0]
说明
灯笼尺寸序列为 [5,4,3,2,1]。整个序列满足非递增要求,长度为 5,起始位置为 0。
样例3
输入
[2,2,2,2]
输出
[4,0]
说明
灯笼尺寸序列为 [2,2,2,2]。所有灯笼尺寸相等,满足非递增要求,长度为 4,起始位置为 0。