leetcode739——Daily Temperatures

제목: 매일 기온 수 조 를 제시 하고 매일 며칠 기다 리 면 기온 이 올 라 갑 니 다.
분석: 스 택 - 다음 더 큰 요 소 를 구 합 니 다.스 택 으로 옮 겨 다 니 는 색인 을 기록 합 니 다. 옮 겨 다 닐 때 현재 요소 가 스 택 꼭대기 색인 이 가리 키 는 기온 보다 크 면 스 택 꼭대기 요소 의 답 을 찾 았 음 을 설명 합 니 다. 답 을 기록 하고 스 택 을 튕 깁 니 다. 스 택 꼭대기 색인 이 가리 키 는 기온 치가 현재 옮 겨 다 니 는 기온 보다 작 지 않 을 때 까지 순환 한 다음 에 현재 색인 을 누 르 면 됩 니 다.
코드:
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;
    }
};

좋은 웹페이지 즐겨찾기