每日一题:每日温度(LeetCode 739)
题目
给定一个整数数组 temperatures
,表示每天的温度,返回一个数组 answer
,其中 answer[i]
是指在第 i 天之后,才会有更高的温度。如果气温在这之后都不会升高,请在该位置用 0
来代替。
示例:
输入: temperatures = [73,74,75,71,69,72,76,73]
输出: [1,1,4,2,1,1,0,0]
解答
class Solution {
public:
vector<int> dailyTemperatures(vector<int>& temperatures) {
//使用栈来记录下标
stack<int> stk;
vector<int> res(temperatures.size());
for(int i = 0; i < temperatures.size(); i++)
{
//如果当前元素大于栈顶元素,则计算
while(stk.size() && temperatures[i] > temperatures[stk.top()])
{
res[stk.top()] = i-stk.top();
stk.pop();
}
stk.push(i);
}
return res;
}
};
THE END
0
二维码
打赏
海报
每日一题:每日温度(LeetCode 739)
题目
给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指在第 i 天之后,才会有更高的温度。如果气温在这之后都不……
共有 0 条评论