LeetCode Hot100 每日温度

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

给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 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
}
相关推荐
小羊失眠啦.2 小时前
Rust核心库(core)深度解析:无依赖基石的设计与实践
数据库·算法·rust
吃着火锅x唱着歌2 小时前
LeetCode 1679.K和数对的最大数目
算法·leetcode·职场和发展
im_AMBER2 小时前
Leetcode 57
笔记·学习·算法·leetcode
im_AMBER2 小时前
Leetcode 58 | 附:滑动窗口题单
笔记·学习·算法·leetcode
sin_hielo2 小时前
leetcode 2154
算法·leetcode
Sunhen_Qiletian2 小时前
YOLO的再进步---YOLOv3算法详解(上)
算法·yolo·计算机视觉
CodeAmaz2 小时前
通用 List 分批切割并循环查询数据库工具类
java·数据结构·工具类·分页
xlq223222 小时前
15.list(上)
数据结构·c++·list
我不会插花弄玉3 小时前
排序【由浅入深-数据结构】
c语言·数据结构