zoukankan      html  css  js  c++  java
  • [leetcode]739. Daily Temperatures

    用stack实现一个递增序列还是很常用的,记住stack一般存数组元素的下标

    /*
            用stack实现一个递增序列,每拿到一个新数就遍历stack,把比新数小的都整理好
            stack存的是下标,如果存数就不能存下标,但是存下标的话可以一举两得,因为可以用下标索引数
            这种方法还是很常用的
             */
            int[] res = new int[temperatures.length];
            Stack<Integer> stack = new Stack<>();
            for (int i = 0; i < temperatures.length; i++) {
                int a = temperatures[i];
                while (!stack.isEmpty()&&a>temperatures[stack.peek()])
                {
                        int index = stack.pop();
                        res[index] = i-index;
                }
                stack.push(i);
            }
            return res;
  • 相关阅读:
    数组_leetcode283
    数组_leetcode438
    数组_leetcode215
    数组_leetcode167
    数组_leetcode209
    数组_leetcode88
    数组_leetcode80
    数组_leetcode76
    数组_leetcode75
    数组_leetcode27
  • 原文地址:https://www.cnblogs.com/stAr-1/p/8330670.html
Copyright © 2011-2022 走看看