[LeetCode]456. 132 Pattern

来源:互联网 发布:天正软件工具栏不见了 编辑:程序博客网 时间:2024/04/29 23:05

https://leetcode.com/problems/132-pattern/

找出数组中是否存在:i < j < k and ai < ak < aj.


stack里面保存s3之后遍历过程中可能被赋予的值

public class Solution {    public boolean find132pattern(int[] nums) {        Stack<Integer> stack = new Stack();        int s3 = Integer.MIN_VALUE;        // 反向遍历,stack降序,update最大s3        for (int i = nums.length - 1; i >= 0; i--) {            if (s3 > nums[i]) {                return true;            } else {                while (!stack.isEmpty() && nums[i] > stack.peek()) {                    s3 = stack.pop();                }            }            stack.push(nums[i]);        }        return false;    }}


0 0