LeetCode739每日温度

71 阅读1分钟

使用递减栈来实现


class Solution {
    public int[] dailyTemperatures(int[] T) {
        int[] ans = new int[T.length];
        int[] stack = new int[T.length];
        int stackIndex = -1;
        for (int i = 0; i < T.length; i++) {
            while (stackIndex >= 0 && T[i] > T[stack[stackIndex]]) {
                int index = stack[stackIndex--];
                ans[index] = i - index;
            }
            stack[++stackIndex] = i;
        }
        return ans;
    }
}