单调栈计算每日温度数组的相邻最大值

单调栈计算每日温度数组的相邻最大值

class Solution {
    public int[] dailyTemperatures(int[] T) {
        LinkedList<Integer> stack=new LinkedList<>();
        int length=T.length;
        int[] ans=new int[length];
        for(int i=0;i<length;i++){

            if(!stack.isEmpty()){
                   while(!stack.isEmpty()&&T[i]>T[stack.peek()]){
                    ans[stack.peek()]=i-stack.peek();
                    stack.pop();
                    }
                    stack.push(i);
            }else {
                stack.push(i);
            }
        }

        while(!stack.isEmpty()){
            ans[stack.pop()]=0;
        }

        return ans;




    }
}
上一篇:Hadoop配置信息处理(源码解析)


下一篇:华为服务器如何配置管理IP