2022-03-27 18:35:17 +08:00
< p > You may recall that an array < code > arr< / code > is a < strong > mountain array< / strong > if and only if:< / p >
< ul >
< li > < code > arr.length > = 3< / code > < / li >
< li > There exists some index < code > i< / code > (< strong > 0-indexed< / strong > ) with < code > 0 < i < arr.length - 1< / code > such that:
< ul >
< li > < code > arr[0] < arr[1] < ... < arr[i - 1] < arr[i]< / code > < / li >
< li > < code > arr[i] > arr[i + 1] > ... > arr[arr.length - 1]< / code > < / li >
< / ul >
< / li >
< / ul >
< p > Given an integer array < code > arr< / code > , return < em > the length of the longest subarray, which is a mountain< / em > . Return < code > 0< / code > if there is no mountain subarray.< / p >
< p > < / p >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 1:< / strong > < / p >
2022-03-27 18:35:17 +08:00
< pre >
< strong > Input:< / strong > arr = [2,1,4,7,3,2,5]
< strong > Output:< / strong > 5
< strong > Explanation:< / strong > The largest mountain is [1,4,7,3,2] which has length 5.
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 2:< / strong > < / p >
2022-03-27 18:35:17 +08:00
< pre >
< strong > Input:< / strong > arr = [2,2,2]
< strong > Output:< / strong > 0
< strong > Explanation:< / strong > There is no mountain.
< / pre >
< p > < / p >
< p > < strong > Constraints:< / strong > < / p >
< ul >
< li > < code > 1 < = arr.length < = 10< sup > 4< / sup > < / code > < / li >
< li > < code > 0 < = arr[i] < = 10< sup > 4< / sup > < / code > < / li >
< / ul >
< p > < / p >
< p > < strong > Follow up:< / strong > < / p >
< ul >
< li > Can you solve it using only one pass?< / li >
< li > Can you solve it in < code > O(1)< / code > space?< / li >
< / ul >