小塔定义一个长度为n的数组为“山峰数组”:存在这样的一个位置,使得这个位置左右两边的全部元素均依次严格递减;使用数学的语言来描述,即存在x∈(1,n)使得ai−1<ai(i∈[x,n])且ai>ai+1(i∈[1,x])。例如 [1,2,5,4,2]和[1,3,2]是“山峰数组”而[1],[1,2,3],[1,2,1,2]和[1,2,1,1]不是“山峰数组”。
小塔有一个长度为n的数组a1,a2,…,an,他想知道在全部的子数组✟中,是“山峰数组”的子数组的长度最大值是多少。
✟:如果数组a可以通过从数组b的开头删除若干(可能为零或全部)元素以及从结尾删除若干(可能为零或全部)元素得到,则数组a是数组b的子数组。
山峰限制严格单增后单减,找到每个数两边单调递减的左右边界,并求答案即可。