【LeetCode热题100】【栈】每日温度

题目链接:739. 每日温度 - 力扣(LeetCode)

用单调栈记录下标,先将头个温度下标压入栈,判断栈顶温度是否比当天温度低,低则更新低温的天数弹栈,高则继续压栈,这样栈里面的温度必定是递减的,一遇到温度高的便可同步更新低温的天数

class Solution {
public:
    vector<int> dailyTemperatures(vector<int> &temperatures) {
        vector<int> ans(temperatures.size()); // 默认为0
        stack<int> index; // 存储下标
        for (int i = 0; i < temperatures.size(); i++) {
            while (!index.empty() && temperatures[index.top()] < temperatures[i]) { // 找到比前面温度高的
                ans[index.top()] = i - index.top(); // 更新前面温度低的天数
                index.pop();
            }
            index.push(i); // 将温度低的压入栈
        }
        return ans;
    }
};

相关推荐

  1. LeetCode100】【每日温度

    2024-04-09 05:20:02       16 阅读
  2. LeetCode100】155. 最小

    2024-04-09 05:20:02       16 阅读
  3. LeetCode100】394. 字符串解码(

    2024-04-09 05:20:02       24 阅读
  4. LeetCode-100:155. 最小

    2024-04-09 05:20:02       17 阅读
  5. LeetCode100】20. 有效的括号(

    2024-04-09 05:20:02       21 阅读
  6. Leetcode100

    2024-04-09 05:20:02       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-09 05:20:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-09 05:20:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-09 05:20:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-09 05:20:02       18 阅读

热门阅读

  1. 解决报错OSError: cannot write mode RGBA as JPEG

    2024-04-09 05:20:02       12 阅读
  2. 简述对css工程化的理解

    2024-04-09 05:20:02       14 阅读
  3. hash模式和history模式的区别

    2024-04-09 05:20:02       17 阅读
  4. 关于SpringBoot的配置文件

    2024-04-09 05:20:02       12 阅读
  5. MySQL-commit,rollback

    2024-04-09 05:20:02       13 阅读
  6. 探索 C++ 中的 string 类

    2024-04-09 05:20:02       10 阅读
  7. Inotify

    Inotify

    2024-04-09 05:20:02      11 阅读