用栈写的 但是时间复杂度是o(n*size)不符合题目的o(n)

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param num int整型vector 
     * @param size int整型 
     * @return int整型vector
     */
    vector<int> maxInWindows(vector<int>& num, int size) 
    {
        vector<int>res;
        stack<int>stk;
        int n=num.size();
        if(n<size||size==0) return res;
        for(int i=0;i<n-size+1;i++)
        {
            for(int j=i;j<i+size;j++)
            {
                if(stk.empty()) 
                    stk.push(num[j]);
                else if(stk.top()<num[j]) 
                {
                    stk.top()=num[j];
                }
                
            }
            res.push_back(stk.top());
            while(!stk.empty()) stk.pop();
        }
        return res;
    }
};