1. 程式人生 > >LeetCode周賽#111 Q1 Valid Mountain Array

LeetCode周賽#111 Q1 Valid Mountain Array

題目來源:https://leetcode.com/contest/weekly-contest-111/problems/valid-mountain-array/

問題描述

 941. Valid Mountain Array

Given an array A of integers, return true if and only if it is a valid mountain array.

Recall that A is a mountain array if and only if:

  • A.length >= 3
  • There exists some i with 0 < i < A.length - 1 such that:
    • A[0] < A[1] < ... A[i-1] < A[i]
    • A[i] > A[i+1] > ... > A[B.length - 1]

 

Example 1:

Input: [2,1]
Output: false

Example 2:

Input: [3,5,5]
Output: false

Example 3:

Input: [0,3,2,1]
Output: true

 

Note:

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

------------------------------------------------------------

題意

定義mountain array為先嚴格單調上升再嚴格單調下降的array。問給定一個array,判斷是否是mountain array.

------------------------------------------------------------

程式碼

class Solution {
public:
    bool validMountainArray(vector<int>& A) {
        int n = A.size(), i = 0;
        if (n < 3)
        {
            return false;
        }
        for (i=1; i<n-1; i++)
        {
            if (A[i-1] >= A[i])
            {
                break;
            }
        }
        if (i == 1)
        {
            return false;
        }
        for (; i<n; i++)
        {
            if (A[i-1] <= A[i])
            {
                return false;
            }
        }
        return true;
    }
};