栈 -- 739. 每日温度

Posted 沿着路走到底

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了栈 -- 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]

var dailyTemperatures = function (temperatures) 
  const stack = [0]
  let count = 1
  const len = temperatures.length
  const res = new Array(len).fill(0)

  for(let i=1; i<len; i++) 
    const num = temperatures[i]
    while(num > temperatures[stack[count-1]]) 
      const index = stack.pop()
      res[index] = i -index
      count--
    

    stack.push(i)
    count++
  

  return res
;

1

以上是关于栈 -- 739. 每日温度的主要内容,如果未能解决你的问题,请参考以下文章

Java每日一题——>739. 每日温度(蛮力法,栈方法)

Java每日一题——>739. 每日温度(蛮力法,栈方法)

739. 每日温度 : 单调栈模板题

栈 -- 739. 每日温度

leetcode - 739每日温度 - 单调栈

739. 每日温度