LeetCode || Sliding Window Maximum

来源:互联网 发布:淘宝助理怎样下载宝贝 编辑:程序博客网 时间:2024/05/22 01:47
class Solution {public:    vector<int> maxSlidingWindow(vector<int>& nums, int k) {        deque<int> index;        vector<int> maxValue;                if(nums.size() < k || k <=0)            return maxValue;                for(int i = 0;i<k;i++)        {            while(index.size() > 0 && nums[index.back()] < nums[i])                index.pop_back();            index.push_back(i);        }                for(int i = k;i<nums.size();i++)        {            maxValue.push_back(nums[index.front()]);            while(index.size() > 0 && nums[index.back()] < nums[i])                index.pop_back();            if(index.size() > 0 && index.front() <= i - k)                index.pop_front();            index.push_back(i);        }                //if(k == nums.size())            maxValue.push_back(nums[index.front()]);        return maxValue;            }};

0 0
原创粉丝点击