LeetCode javascript 941

140 阅读1分钟
/**
 * @param {number[]} A
 * @return {boolean}
 */
var validMountainArray = function(A) {
    let len = A.length;
    if (len < 3) {
        return false;
    }
    let max = Math.max(...A);
    let index = A.indexOf(max);
    if (index === 0 || index === len - 1) {
        return false;
    }
    for (let i = 1; i < index; ++i) {
        if (A[i] <= A[i - 1]) {
            return false;
        }
    }
    for (let i = index + 1; i < len; ++i) {
        if (A[i] >= A[i - 1]) {
            return false;
        }
    }
    return true;
};

拿到最大数 前后循环遍。用了原生方法 效率没有太差。但是找最大值和找最大值的 index,其实效率不高