leetcode 941. 有效的山脉数组

2023.9.2

leetcode 941. 有效的山脉数组_第1张图片        可以用双指针法来做,left指向数组起点,right指向数组终点,left满足条件则左移,right满足条件则右移,最终两指针重合则返回true。 期间任一条件不满足则返回false。 代码如下:

class Solution {
public:
    bool validMountainArray(vector& arr) {
        if(arr.size() < 3) return false;
        int left = 0;
        int right = arr.size()-1;

        while(arr[left] < arr[left+1] && left <= right) left++;
        if(left == right || arr[left] == arr[left+1] || left == 0) return false;
        while(arr[right] < arr[right-1] && right > left) right--;
        if(right == left) return true;
        else return false;
    }
};

你可能感兴趣的:(leetcode专栏,leetcode,算法,职场和发展,c++,数据结构)