Easiest solution C++ O(n)


#1

int Solution::perfectPeak(vector &A) {
int n=A.size();
vector l(n,0),r(n,0);
l[0]=A[0];
r[n-1]=A[n-1];
for(int i=1;i<A.size();i++)
l[i]=max(l[i-1],A[i]);
for(int i=n-2;i>=0;i–)
r[i]=min(r[i+1],A[i]);
for(int i=1;i<A.size()-1;i++)
if(A[i]>l[i-1]&&A[i]<r[i+1])
return 1;
return 0;
}