739. Daily Temperatures

Given a list of daily temperatures, produce a list 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 temperatures = [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].


参考别人的:

class Solution {
public:
    vector dailyTemperatures(vector& temperatures) {
        stack >s;
        vectorres(temperatures.size(),0);
        for(int i=0;i            while(!s.empty()&&temperatures[i]>s.top().first){
                res[s.top().second]=i-s.top().second;
                s.pop();
            }
            s.push(pair(temperatures[i],i));
        }
        return res;
    }
};



自己超时的:
class Solution {
public:
    vector dailyTemperatures(vector& temperatures) {
        vector res;
        int i,j;
        i=0;
        j=i+1;
        int count=0;
        while(i            if(temperatures[j]<=temperatures[i])
            {
                count++;
                j++;
            }
            else
            {
                count++;
                res.push_back(count);
                i++;
                j=i+1;
                count=0;
            }

            if(j==temperatures.size())
            {
                res.push_back(0);
                i++;
                j=i+1;
                count=0;
            }
            if(i==temperatures.size()-1)
            {
                res.push_back(0);
                break;
            }
        }
        return res;
    }
};



暂时不懂,明天看。。。。

你可能感兴趣的:(LeetCode)