Daily Temperatures
程序员文章站
2022-05-05 22:48:08
...
代码:
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;
}
}
上一篇: java面试|精选基础(1)
下一篇: 几种事件属性用法的相关介绍