739. Daily Temperatures

根據每日 氣溫 列表,請從新生成一個列表,對應位置的輸入是你須要再等待多久溫度纔會升高的天數。若是以後都不會升高,請輸入 0 來代替。spa

例如,給定一個列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的輸出應該是 [1, 1, 4, 2, 1, 1, 0, 0]code

提示:氣溫 列表長度的範圍是 [1, 30000]。每一個氣溫的值的都是 [30, 100] 範圍內的整數。blog

 

後面第幾個數比本身大io

 

C++:class

 1 class Solution {
 2 public:
 3     vector<int> dailyTemperatures(vector<int>& T) {
 4         stack<int> s ;
 5         vector<int> res(T.size() , 0) ;
 6         for(int i = 0 ; i < T.size() ; i++){
 7             while(!s.empty() && T[i] > T[s.top()]){
 8                 int idx = s.top() ;
 9                 s.pop() ;
10                 res[idx] = i - idx ;
11             }
12             s.push(i) ;
13         }
14         return res ;
15     }
16 };
相關文章
相關標籤/搜索