力扣739.每日温度

力扣739.每日温度

  • 单调栈

    • 从右到左做
    • 栈中存下标
cpp 复制代码
  class Solution {
  public:
      vector<int> dailyTemperatures(vector<int>& temperatures) {
          int n = temperatures.size();
          vector<int> ans(n);
          stack<int> st;
          for(int i=n-1;i>=0;i--)
          {
              int t = temperatures[i];
              //说明他不会是任何数的右边界
              while(!st.empty() && t >= temperatures[st.top()])
                  st.pop();
              if(!st.empty())
                  ans[i] = st.top() - i;
              st.push(i);
          }
          return ans;
      }
  };
相关推荐
无敌最俊朗@3 小时前
C++ 值类别与对象模型面试题(12)
算法
代码不停3 小时前
Java模拟算法题目练习
java·开发语言·算法
前端小L4 小时前
图论专题(二):“关系”的焦点——一眼找出「星型图的中心节点」
数据结构·算法·深度优先·图论·宽度优先
资深web全栈开发4 小时前
贪心算法套路解析
算法·贪心算法·golang
~~李木子~~4 小时前
贪心算法实验2
算法·贪心算法
FanXing_zl4 小时前
快速掌握线性代数:核心概念与深度解析
线性代数·算法·机器学习
zzzsde4 小时前
【C++】红黑树:使用及实现
开发语言·c++·算法
Kuo-Teng5 小时前
LeetCode 139: Word Break
java·算法·leetcode·职场和发展·word·动态规划
Algor_pro_king_John5 小时前
模板ACM
算法·图论
前端小L5 小时前
图论专题(六):“隐式图”的登场!DFS/BFS 攻克「岛屿数量」
数据结构·算法·深度优先·图论·宽度优先