HOT100——栈篇Leetcode739. 每日温度

文章目录

  • 题目:Leetcode160. 相交链表
  • 原题链接
  • 思路
  • 代码

题目:Leetcode160. 相交链表

给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。

HOT100——栈篇Leetcode739. 每日温度_第1张图片

原题链接

每日温度

思路

寻找任一个元素的右边第一个比自己大的元素的位置,此时就可以使用单调栈

  • 当前元素 a[i] 小于栈顶元素 a[st.top()] ,当前元素入栈;
  • 当前元素 a[i] 等于栈顶元素 a[st.top()] ,当前元素入栈;
  • 当前元素 a[i] 大于栈顶元素 a[st.top()] ,计算栈顶元素的答案res[st.top()] = i - st.top();并出栈顶元素,再入栈当前元素;

代码

HOT100——栈篇Leetcode739. 每日温度_第2张图片

你可能感兴趣的:(HOT100,Leetcode,leetcode,c++,单调栈)