zoukankan      html  css  js  c++  java
  • 739. Daily Temperatures

    Problem:

    Given a list of daily temperatures T, return a list such that, for each day in the input, tells you how many days you would have to wait until a warmer temperature. If there is no future day for which this is possible, put 0 instead.

    For example, given the list of temperatures T = [73, 74, 75, 71, 69, 72, 76, 73], your output should be [1, 1, 4, 2, 1, 1, 0, 0].

    Note: The length of temperatures will be in the range [1, 30000]. Each temperature will be an integer in the range [30, 100].

    思路

    Solution (C++):

    vector<int> dailyTemperatures(vector<int>& T) {
        int n = T.size();
        vector<int> res(n, 0);
        for (int i = n-1; i >= 0; --i) {
            int j = i+1;
            while (j < n && T[i] >= T[j]) {
                if (res[j] > 0)  j += res[j];
                else  j = n;
            }
            if (j < n)  res[i] = j-i;
        }
        return res;
    }
    

    性能

    Runtime: 316 ms  Memory Usage: 12.7 MB

    思路

    Solution (C++):

    
    

    性能

    Runtime: ms  Memory Usage: MB

    相关链接如下:

    知乎:littledy

    欢迎关注个人微信公众号:小邓杂谈,扫描下方二维码即可

    作者:littledy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    计算机英语
    NSQ学习记录
    Java学习记录-注解
    VS插件开发

    双链表
    顺序表
    顺序队列
    顺序栈

  • 原文地址:https://www.cnblogs.com/dysjtu1995/p/12730943.html
Copyright © 2011-2022 走看看