Given an integer array A of size N . You need to check that whether there exist a element which is strictly greater than all the elements on left of it and strictly smaller than all the elements on right of it. If it exists return 1 else return 0 . https://www.interviewbit.com/old/problems/perfect-peak-of-array/ int Solution::perfectPeak(vector<int> &A) { int ans=-1; int l[A.size()]; int r[A.size()]; l[0]=A[0]; r[A.size()-1]=A[A.size()-1]; for(int i=1;i<A.size();i++){ l[i] = max(A[i],l[i-1]); } for(int i=A.size()-2;i>=0;i--){ r[i] = min(A[i],r[i+1]); } for(int i=1;i<A.size()-1;i++){ if(A[i]>l[i-1]&&A[i]<r[i+1]){ return 1; } } if(ans==-1){ return 0; } }
https://www.interviewbit.com/old/problems/is-rectangle/ int Solution::solve(int A, int B, int C, int D) { if (((A==B)&&(C==D))||((A==C)&&(B==D))||((A==D)&&(B==C))){ return 1; }else{ return 0; } }
Comments
Post a Comment