lc-go/solutions/7/q739/solution.go
2026-01-25 11:56:12 +09:00

19 lines
477 B
Go

package q739
func dailyTemperatures(temperatures []int) []int {
waitDays := make([]int, len(temperatures))
idxStack := make([]int, 0, len(temperatures))
for i, temp := range temperatures {
for len(idxStack) > 0 && temperatures[idxStack[len(idxStack)-1]] < temp {
popped := idxStack[len(idxStack)-1]
idxStack = idxStack[:len(idxStack)-1] // pop
waitDays[popped] = i - popped
}
idxStack = append(idxStack, i)
}
return waitDays
}
var _ = dailyTemperatures