跳转至

LC739 - 每日温度

DailyTemperatures.go
package Stack

func dailyTemperatures(temperatures []int) []int {
    size := len(temperatures)
    result := make([]int, size)
    stack := new(Stack[int])
    for i := 0; i < size; i++ {
        for !stack.IsEmpty() && temperatures[i] > temperatures[stack.Top()] {
            cur := stack.Pop()
            result[cur] = i - cur
        }
        stack.Push(i)
    }
    return result
}

单调栈