网站建设支出及维护费应怎样做账,中小企业网站制作软件,百度引擎搜索引擎入口,网站建设费可以走办公费吗题目链接
每日温度
题目描述 注意点
answer[i] 是指对于第 i 天#xff0c;下一个更高温度出现在几天后如果气温在这之后都不会升高#xff0c;请在该位置用 0 来代替1 temperatures.length 100000
解答思路
使用单调栈解决本题#xff0c;思路为#xff1a…题目链接
每日温度
题目描述 注意点
answer[i] 是指对于第 i 天下一个更高温度出现在几天后如果气温在这之后都不会升高请在该位置用 0 来代替1 temperatures.length 100000
解答思路
使用单调栈解决本题思路为遍历整个数组遍历到任意一个下标i元素时如果当前栈不为空则需要不断将栈顶元素弹出与temperatures[i]的值进行比较直到栈为空或栈顶元素比temperatures[i]更大为止当栈顶元素比temperatures[i]小更新对应栈顶元素下标的下一个更高温度出现在几天后再比较过后需要将当前元素的下标i压入栈中
代码
class Solution {public int[] dailyTemperatures(int[] temperatures) {int n temperatures.length;int[] res new int[n];DequeInteger deque new ArrayDeque();for (int i 0; i n; i) {while (!deque.isEmpty() temperatures[deque.peek()] temperatures[i]) {int pre deque.pop();res[pre] i - pre;}deque.push(i);}return res;}
}关键点
单调栈的思路answer[i] 是指对于第 i 天下一个更高温度出现在几天后