zoukankan      html  css  js  c++  java
  • 【力扣】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:

    输入:[2,1]
    输出:false
    示例 2:

    输入:[3,5,5]
    输出:false
    示例 3:

    输入:[0,3,2,1]
    输出:true
     

    提示:

    0 <= A.length <= 10000
    0 <= A[i] <= 10000 

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/valid-mountain-array

     时间复杂度:O(n)

    空间复杂度:O(1)

    class Solution {
        public boolean validMountainArray(int[] A) {
            int N = A.length;
            int i = 0;
    
            // 递增扫描
            while (i + 1 < N && A[i] < A[i + 1]) {
                i++;
            }
    
            // 最高点不能是数组的第一个位置或最后一个位置
            if (i == 0 || i == N - 1) {
                return false;
            }
    
            // 递减扫描
            while (i + 1 < N && A[i] > A[i + 1]) {
                i++;
            }
    
            return i == N - 1;
        }
    }
    一个入行不久的Java开发,越学习越感觉知识太多,自身了解太少,只能不断追寻
  • 相关阅读:
    大道至简第一章和java理论学时第一节。感受。
    jQuery基础
    JavaScript对象及初始面向对象
    使用JavaScript操作DOM
    JavaScript操作BOM对象
    JavaScript基础
    实体之间的对应关系
    MySQL常用函数
    SQL Server中分离附加数据及生成SQL脚本
    C#中子类构造函数
  • 原文地址:https://www.cnblogs.com/fengtingxin/p/13917751.html
Copyright © 2011-2022 走看看