Files
2026-02-11 14:56:22 +05:30

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