leetcode739——Daily Temperatures
766 단어 데이터 구조-창고
분석: 스 택 - 다음 더 큰 요 소 를 구 합 니 다.스 택 으로 옮 겨 다 니 는 색인 을 기록 합 니 다. 옮 겨 다 닐 때 현재 요소 가 스 택 꼭대기 색인 이 가리 키 는 기온 보다 크 면 스 택 꼭대기 요소 의 답 을 찾 았 음 을 설명 합 니 다. 답 을 기록 하고 스 택 을 튕 깁 니 다. 스 택 꼭대기 색인 이 가리 키 는 기온 치가 현재 옮 겨 다 니 는 기온 보다 작 지 않 을 때 까지 순환 한 다음 에 현재 색인 을 누 르 면 됩 니 다.
코드:
class Solution {
public:
vector dailyTemperatures(vector& T) {
vector ans(T.size());
stack s;
for(int i = 0;i < T.size();i++){
while(!s.empty() && T[s.top()] < T[i]){
ans[s.top()] = i - s.top();
s.pop();
}
s.push(i);
}
return ans;
}
};