zoukankan      html  css  js  c++  java
  • Leetcode 456.132模式

    132模式

    给定一个整数序列:a1, a2, ..., an,一个132模式的子序列 ai, aj, ak 被定义为:当 i < j < k 时,ai < ak < aj。设计一个算法,当给定有 n 个数字的序列时,验证这个序列中是否含有132模式的子序列。

    注意:n 的值小于15000。

    示例1:

    输入: [1, 2, 3, 4]

    输出: False

    解释: 序列中不存在132模式的子序列。

    示例 2:

    输入: [3, 1, 4, 2]

    输出: True

    解释: 序列中有 1 个132模式的子序列: [1, 4, 2].

    示例 3:

    输入: [-1, 3, 2, 0]

    输出: True

    解释: 序列中有 3 个132模式的的子序列: [-1, 3, 2], [-1, 3, 0] 和 [-1, 2, 0].

     1 import java.util.Stack;
     2 
     3 class Solution {
     4     public boolean find132pattern(int[] nums) {
     5         if(nums.length<3) return false;
     6         Stack<Integer> s=new Stack<Integer>();
     7         int second=Integer.MIN_VALUE;
     8         for(int i=nums.length-1;i>=0;i--){
     9             if(nums[i]<second) return true;
    10             while(!s.isEmpty()&&nums[i]>s.peek()){
    11                 second=s.pop();
    12             }
    13             s.push(nums[i]);
    14         }
    15         return false;
    16     }
    17 }
  • 相关阅读:
    js dom
    js Number string
    jq ajax数据交互
    js date 和 math
    js中英文网页切换
    日常使用
    php求和
    empty()
    时间戳、日期相互转换
    数组转字符串之间相互转换
  • 原文地址:https://www.cnblogs.com/kexinxin/p/10269858.html
Copyright © 2011-2022 走看看