func dailyTemperatures(temperatures []int) []int {
n := len(temperatures)
st := make([]int, 0)
ans := make([]int, len(temperatures))
for i := 0; i < n; i ++ {
if len(st) == 0 {
st = append(st, i)
}
for len(st) != 0 && temperatures[st[len(st) - 1]] < temperatures[i] {
top := st[len(st) - 1]
ans[top] = i - top
st = st[:len(st) - 1]
}
st = append(st, i)
}
return ans
}