根据往后 n 天的天气预报,计算每一天需要等待几天才会出现一次更高的气温,如果往后都没有更高的气温,则用 0 补位。
例如往后三天的气温是 [1,2,3] , 则输出 [1,1,0]
数据范围: ,每天的温度会满足
[1,2,3]
[1,1,0]
[2,4,5,9,10,0,9]
[1,1,1,1,0,1,0]
[3,1,4]
[2,1,0]
package main import _"fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 每日温度 * @param dailyTemperatures int整型一维数组 * @return int整型一维数组 */ func temperatures( dailyTemperatures []int ) []int { n:=len(dailyTemperatures) ans:=make([]int,n) stk:=[]int{} for i,x:=range dailyTemperatures{ for len(stk)>0&&dailyTemperatures[stk[len(stk)-1]]<x{ ans[stk[len(stk)-1]]=i-stk[len(stk)-1] stk=stk[:len(stk)-1] } stk=append(stk,i) } return ans }