解題思路
用 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;
}
};
沒有留言:
張貼留言