解題思路
用 stack 紀錄還沒找到 warmer 的日子。用 pair 同時保有日期跟溫度。
pair 用法:
pair<type, type> p;
p.first = ???, p.second = ???
make_pair(???, ???);
程式碼
class Solution { public: vector<int> dailyTemperatures(vector<int>& temperatures) { vector<int> ans(temperatures.size(), 0); stack<pair<int, int>> st; // stack for pair(temp, index) for(int i=0; i<temperatures.size(); i++) { while(!st.empty() && st.top().first < temperatures[i]) { ans[st.top().second] = i - st.top().second; st.pop(); } st.push(make_pair(temperatures[i], i)); } return ans; } };
沒有留言:
張貼留言