class Solution { public : bool isTrionic(vector &nums){ int n =nums.size(); if(n<3) return false; int p = 0; int q = n-1; while(p+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