欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Daily Temperatures

程序员文章站 2022-05-05 22:48:08
...

Daily Temperatures

代码:

class Solution {
    public int[] dailyTemperatures(int[] T) {
        int len = T.length;
        Stack<Integer> stack = new Stack();
        int[] res = new int[len];
        for(int i=0; i<len; i++) {
            //使用while循环,一直到栈为空或者T[i]小于栈顶元素时退出循环
            while(!stack.isEmpty() && T[i] > T[stack.peek()]) {
                int idx = stack.pop();
                res[idx] = i - idx;
            }
            //每一个i都会入栈,最后构成一个栈顶到栈底的单调递增栈(关于温度)
            stack.push(i);
        }
        return res;
     }
}