LeetCode/941. 有效的山脉数组
941. 有效的山脉数组
给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。
让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:
A.length >= 3- 在
0 < i < A.length - 1条件下,存在i使得:A[0] < A[1] < ... A[i-1] < A[i]A[i] > A[i+1] > ... > A[A.length - 1]

示例 1:
1 | 输入:[2,1] |
示例 2:
1 | 输入:[3,5,5] |
示例 3:
1 | 输入:[0,3,2,1] |
提示:
0 <= A.length <= 100000 <= A[i] <= 10000
来源:力扣(LeetCode)
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解:
本题没有什么特殊的,就前后两个指针,left指针向后遍历,遇到后一个比前一个大的,就继续下一个,如果后一个等于或小于前一个,就跳出循环;right指针从前往后遍历,遇到前一个大于后一个的,向前遍历,如果前一个小于或等于后一个的,直接跳出循环。最后判断left和right指针是否相等,如果不相等,直接返回false,如果相等,我们需要注意两种特殊情况,即[0,1,2,3,4,5,6,7,8,9]和[9,8,7,6,5,4,3,2,1,0],这两种情况下,我们只需要判断left是否等于A.length - 1或者是right是否等于0即可。
具体代码如下:
1 | class Solution { |

