# # 你该了解的,这里都讲了!LeetCode:739. # # 给定一个整数数组temperatures ,表示每天的温度,返回一个数组answer , # 其中answer[i]是指对于第i天,下一个更高温度出现在几天后。 # 如果气温在这之后都不会升高,请在该位置用0来代替。 # # # 示例1: # 输入: temperatures = [73, 74, 75, 71, 69, 72, 76, 73] # 输出: [1, 1, 4, 2, 1, 1, 0, 0] # # 示例2: # 输入: temperatures = [30, 40, 50, 60] # 输出: [1, 1, 1, 0] # # 示例3: # 输入: temperatures = [30, 60, 90] # 输出: [1, 1, 0] temperatures = [30, 60, 90] res = [0] * len(temperatures) #存放下标 vstack = [0] for i in range(1, len(temperatures)): print(vstack) if temperatures[i] <= temperatures[vstack[-1]]: vstack.append(i) else: while vstack and temperatures[i] > vstack[-1]: res[vstack[-1]] = i- vstack[-1] vstack.pop() vstack.append(i) print(res)
1.单调栈-每日温度.py
于 2023-12-04 16:30:27 首次发布