《LeetCode力扣练习》代码随想录——单调栈(每日温度—Java)
刷题思路来源于 代码随想录
739. 每日温度
-
单调栈
class Solution { public int[] dailyTemperatures(int[] temperatures) { int[] result = new int[temperatures.length]; Deque<Integer> stack = new ArrayDeque<>(); // Deque<Integer> stack = new LinkedList<>(); stack.push(0); for (int i = 1; i < temperatures.length; i++) { if (temperatures[i] <= temperatures[stack.peek()]) { stack.push(i); } else { while (!stack.isEmpty() && temperatures[i] > temperatures[stack.peek()]) { result[stack.peek()] = i - stack.peek(); stack.pop(); } stack.push(i); } } return result; } }