美文网首页
leetcode-day17-有效的山脉数组[941]

leetcode-day17-有效的山脉数组[941]

作者: 孙静静 | 来源:发表于2020-11-03 16:28 被阅读0次
image.png

定义两个指针,一个从头开始,如果一路递增则记录最后值;一个从尾开始,一路递增则记录最后值,如果最后两个指针的最后值一样,则返回true

算法思想: 双指针法+栈

/**
 * @param {number[]} A
 * @return {boolean}
 */
var validMountainArray = function(A) {
    // 双指针
    if(A.length<3) return false;
    let left_z = 0, right_z = A.length - 1;
    let stack = [A[0]], popshtack = [A[A.length - 1]];
    while(A.length > 0){
        let top = stack.pop();
        if(A[left_z+1] >= top){
            left_z++;
            stack.push(A[left_z]);
        } else {
            break;
        }
    }
    while(A.length > 0){
        let top = popshtack.pop();
        if(A[right_z-1] > top){
            right_z--;
            popshtack.push(A[right_z]);
        } else {
            break;
        }
    }
    if(left_z === A.length - 1 || right_z === 0){
        return false;
    }
    return left_z === right_z;
};

相关文章

  • leetcode-day17-有效的山脉数组[941]

    定义两个指针,一个从头开始,如果一路递增则记录最后值;一个从尾开始,一路递增则记录最后值,如果最后两个指针的最后值...

  • LeetCode第111场周赛题解

    941. 有效的山脉数组 题目难度Easy 给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回...

  • 941. 有效的山脉数组

  • 941. 有效的山脉数组

    題目描述: 给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如...

  • 941. 有效的山脉数组

    题目描述 给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。 让我们回顾一下,如...

  • 941. 有效山脉数组(Python)

    题目 难度:★☆☆☆☆类型:数组 给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 fals...

  • leetcode_941 有效的山脉数组

    用一个变量left来记录是否处在上山,关注头尾,如果在头部是下山或在尾部是上山都返回false,在left=tru...

  • LeetCode 941. 有效的山脉数组

    题目 给定一个整数数组 arr,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果...

  • Leetcode 941. 有效的山脉数组 Valid Moun

    【题目描述】给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。 让我们回顾一下,...

  • T941、有效山脉

    给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果 A 满足...

网友评论

      本文标题:leetcode-day17-有效的山脉数组[941]

      本文链接:https://www.haomeiwen.com/subject/vhqivktx.html