【leetcode】941. 有效的山脉数组(valid-mountain-array)(模拟)[简单]
发布日期:2021-05-13 21:40:17 浏览次数:20 分类:精选文章

本文共 652 字,大约阅读时间需要 2 分钟。

链接

耗时

解题:10 min

题解:3 min

题意

给定一个整数数组 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]

思路

详见代码。

时间复杂度: O ( n ) O(n) O(n)

AC代码

class Solution {   public:    bool validMountainArray(vector
& A) { int n = A.size(); if(n < 3) return false; int peak = 1; while(peak < n && A[peak] > A[peak-1]) peak++; if(peak == 1 || peak == n) { return false; } while(peak < n-1 && A[peak] > A[peak+1]) peak++; return peak == n-1 && A[peak-1] > A[peak]; }};
上一篇:【Linux】Ubuntu 使用指南
下一篇:【WIN】scoop 安装及配置

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年04月17日 11时01分55秒