classSolution{public:boolfind132pattern(vector<int>&nums){stack<int>stack;// Max stackintak=INT_MIN;// We want to find a seq ai < ak < ajfor(inti=nums.size()-1;i>=0;--i){// Ai < ak, we're done because ai must also smaller than ajif(nums[i]<ak)returntrue;while(!stack.empty()&&stack.top()<nums[i])ak=stack.top(),stack.pop();stack.push(nums[i]);// nums[i] is a candidate of aj}returnfalse;}};
classSolution{publicbooleanfind132pattern(int[]nums){Deque<Integer>stack=newArrayDeque<>();// Max stackintak=Integer.MIN_VALUE;// We want to find a seq ai < ak < ajfor(inti=nums.length-1;i>=0;--i){if(nums[i]<ak)// Ai < ak, we're done because ai must also smaller than ajreturntrue;while(!stack.isEmpty()&&stack.peek()<nums[i])ak=stack.pop();stack.push(nums[i]);// nums[i] is a candidate of aj}returnfalse;}}