【Leetcode刷题篇】leetcode739 每日温度
发布日期:2021-06-29 15:34:24 浏览次数:2 分类:技术文章

本文共 913 字,大约阅读时间需要 3 分钟。

请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。

例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。

提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。

解题思路:暴力解法

public int[] dailyTemperatures(int[] T) {
int[] res = new int[T.length]; for(int i=0;i
comp) {
res[i] = (j-i); flag = true; break; } } // 没有找到则设为0 if(!flag) {
res[i] = 0; } } res[T.length-1] = 0; return res; }

解题思路2; 维持一个单调栈

// 单调栈	    public int[] dailyTemperatures_2(int[] T) {
int[] res = new int[T.length]; Deque
stack = new LinkedList
(); for(int i=0;i
T[stack.peek()]) {
int preIndex = stack.pop(); res[preIndex] = i - preIndex; } stack.push(i); } return res; }

转载地址:https://codingchaozhang.blog.csdn.net/article/details/110586119 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Leetcode刷题篇】leetcode121买卖股票的最佳时机
下一篇:【Leetcode刷题篇】leetcode70 爬楼梯

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月14日 12时40分47秒