剑指 Offer 59 - I. 滑动窗口的最大值

题目描述:

给定一个数组 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:单调队列

全部评论

相关推荐

自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务