Leetcode 941. 有效的山脉数组
作者:互联网
给定一个整数数组 arr,如果它是有效的山脉数组就返回 true,否则返回 false。
让我们回顾一下,如果 arr 满足下述条件,那么它是一个山脉数组:
- arr.length >= 3
- 在 0 < i < arr.length - 1 条件下,存在 i 使得:
- arr[0] < arr[1] < ... arr[i-1] < arr[i]
- arr[i] > arr[i+1] > ... > arr[arr.length - 1]
示例 1:
输入:arr = [2,1]
输出:false
示例 2:
输入:arr = [3,5,5]
输出:false
示例 3:
输入:arr = [0,3,2,1]
输出:true
提示:
- 1 <= arr.length <= 104
- 0 <= arr[i] <= 104
Code:
class Solution {
public:
bool validMountainArray(vector<int>& arr) {
if(arr.size()==1)
return false;
vector<int>vec=arr;
int size=arr.size();
int max1=-1;
bool flag=false;
for(int i=1;i<arr.size();i++)
{
if(arr[i]==arr[i-1])
return false;
if(arr[i]>arr[i-1])
{
if(flag)
return false;
if(flag==false)
max1=arr[i];
}
else
{
if(arr[i]>=max1)
return false;
flag=true;
}
}
if(flag==false)
return false;
return true;
}
};
标签:arr,return,示例,941,flag,数组,false,true,Leetcode 来源: https://www.cnblogs.com/xiaohai123/p/16297765.html