题目描述:
给定一个数组 nums
和滑动窗口的大小 k
,请找出所有滑动窗口里的最大值。
方法1:暴力法 ,直接查找vector内最大值 (vector+ max_element)
vector<int> maxInWindows(const vector<int>& num, unsigned int size)
{
int len=num.size();
int n=len-size;
int temp_max;
vector<int> res;
if(n>=0&&size>0)
{
for(int i=0;i<=n;i++)
{
temp_max=*max_element(num.begin()+i,num.begin()+i+size);//取最大值算法 #include<algorithm> 最小值min_element
//sort(temp.begin(),temp.end());
res.push_back(temp_max);
}
}
return res;
}
方法2:优先队列(堆(大根堆))
方法3:单调队列