mirror of
https://github.com/Manoj-HV30/dsa-competitive-programming.git
synced 2026-05-16 19:35:22 +00:00
21 lines
632 B
C++
21 lines
632 B
C++
class Solution {
|
|
public :
|
|
bool isTrionic(vector<int> &nums){
|
|
int n =nums.size();
|
|
if(n<3) return false;
|
|
int p = 0;
|
|
int q = n-1;
|
|
while(p+1 <n && nums[p] < nums[p+1]) p++;
|
|
while(q-1>=0 && nums[q] > nums[q-1]) q--;
|
|
if(p==0 || q==n-1) return false;
|
|
while(p+1<=q){
|
|
if(nums[p] > nums[p+1]) p++;
|
|
else return false;
|
|
}
|
|
return p==q;
|
|
}
|
|
};
|
|
|
|
// Uses two pointers, TC : o(n) , SC : o(1)
|
|
// finds valid p and q if they exist, adn checks for strictly decreasing between p...q
|