LeetCode Hot100 每日温度

题目地址:https://leetcode.cn/problems/daily-temperatures/description/

给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answeri 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。

单调栈

go 复制代码
func dailyTemperatures(tempeatues []int) []int {
	stack := make([]int, len(tempeatues))
	ans := make([]int, len(tempeatues))
	// 栈中存放下标
	stack[0] = 0
	top := -1
	for i := 0; i < len(tempeatues); i++ {
		// 栈顶元素的温度小于当前温度
		// 结算出栈
		for top >= 0 && tempeatues[stack[top]] < tempeatues[i] {
			ans[stack[top]] = i - stack[top]
			top--
		}
		top++
		stack[top] = i
	}
	return ans
}
相关推荐
木子算法11 分钟前
不是重心也不是中点:费马—韦伯点、它的最优性条件与迭代求解
人工智能·算法·目标跟踪
tryxr1 小时前
矩阵的几种基础变换
java·数据结构·算法·矩阵
mmmmath_31 小时前
LeetCode.028.找出字符串中第一个匹配项的
数据结构·算法·leetcode
Selvaggia1 小时前
DMD(Distribution Matching Distillation,分布匹配蒸馏)
算法
Navigator_Z2 小时前
LeetCode //C - 1255. Maximum Score Words Formed by Letters
c语言·算法·leetcode
All for pursuit.2 小时前
【栈-4】739.每日温度
数据结构·c++·算法·leetcode
开开心心就好2 小时前
安卓手写文字生成工具,多种纸张一直免费
网络·网络协议·tcp/ip·leetcode·智能手机·电脑·模拟退火算法
All for pursuit.2 小时前
【栈-5】84.柱状图中最大的矩形
数据结构·c++·算法·leetcode
wzdark2 小时前
数据压缩算法的时间复杂度与压缩率权衡4
算法
小陈phd3 小时前
深入理解agent学习笔记(一)——现代agent介绍
人工智能·算法