程式語言 - LeetCode - C++ - 739. Daily Temperatures



參考資訊:
https://algo.monster/liteproblems/739
https://stackoverflow.com/questions/72959877/leetcode-739-daily-temperatures-when-to-use-a-monotic-stack

題目:


解答:

class Solution {
public:
    vector<int> dailyTemperatures(vector<int>& temperatures) {
        int size = temperatures.size();
        vector<int> r(size, 0);
        vector<int> s(size, 0);

        int pos = 0;
        for (int i = 0; i < size; i++) {
            while (pos && (temperatures[i] > temperatures[s[pos - 1]])) {
                int idx = s[--pos];
                r[idx] = i - idx;
            }

            s[pos++] = i;
        }

        return r;
    }
};