力扣739. 每日温度

Problem: 739. 每日温度

题目描述

在这里插入图片描述

思路

若本题目使用暴力法则会超时,故而使用单调栈解决:

1.创建结果数组res,和单调栈stack;
2.循环遍历数组temperatures:

2.1.若当stack不为空同时栈顶所存储的索引对应的气温小于当前的气温,则跟新res中对应位置的值;
2.2.每次向stack中存入每日气温的索引下标

复杂度

时间复杂度:

O ( n ) O(n) O(n);其中 n n n是数组temperatures的大小

空间复杂度:

O ( n ) O(n) O(n)

Code

class Solution {
public:
    /**
     * Monotone stack
     *
     * @param temperatures The given temperature array
     * @return vector<int>
     */
    vector<int> dailyTemperatures(vector<int> &temperatures) {
        int n = temperatures.size();
        vector<int> res(n);
        stack<int> stack;
        for (int i = 0; i < n; ++i) {
            while (!stack.empty() && temperatures[stack.top()] < temperatures[i]) {
                int index = stack.top();
                stack.pop();
                res[index] = i - index;
            }
            stack.push(i);
        }
        return res;
    }
};

相关推荐

  1. 【LeetCode739每日温度

    2024-04-12 12:36:06       36 阅读
  2. Leetcode 739. 每日温度

    2024-04-12 12:36:06       30 阅读
  3. 739. 每日温度

    2024-04-12 12:36:06       19 阅读

最近更新

  1. TCP协议是安全的吗?

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

    2024-04-12 12:36:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-12 12:36:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-12 12:36:06       18 阅读

热门阅读

  1. 蓝桥杯历年真题值DFS

    2024-04-12 12:36:06       13 阅读
  2. Linux nfs 环境搭建

    2024-04-12 12:36:06       14 阅读
  3. k8s 节点打污点

    2024-04-12 12:36:06       13 阅读
  4. Swagger API 文档 | 技术选型

    2024-04-12 12:36:06       13 阅读
  5. 【力扣】19. 删除链表的倒数第 N 个结点

    2024-04-12 12:36:06       17 阅读
  6. ARM的学习

    2024-04-12 12:36:06       20 阅读