滑动窗口的最大值
来源:互联网 发布:电脑版ftp 软件 编辑:程序博客网 时间:2024/06/05 09:28
题目:
给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,3,4,2,6,[2,5,1]}。
class Solution{public: vector<int> maxInWindows( const vector<int>& num, unsigned int size ) { vector<int> maxInWindows; if ( num.size() >= size && size >= 1 ) { deque<int> index; for ( unsigned int i = 0; i < size; ++i ) { while ( !index.empty() && num[i] >= num[index.back()] ) index.pop_back(); index.push_back( i ); } for ( unsigned int i = size; i < num.size(); ++i ) { maxInWindows.push_back( num[index.front()] ); while ( !index.empty() && num[i] >= num[index.back()] ) index.pop_back(); if ( !index.empty() && index.front() <= (int)(i-size) ) index.pop_front(); index.push_back( i ); } maxInWindows.push_back( num[index.front()] ); } return maxInWindows; }};
阅读全文
0 0
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 前端ajax获取从后台传回的数据
- 集合实现用户登录注册案例
- bean生命周期
- 单片机定时器使用
- Android使用腾讯X5内核WebView
- 滑动窗口的最大值
- 分页技术
- 树状数组求逆序数
- 文章标题
- python机器学习实战(四)
- SQL基础语法(增删改查)和基本函数
- springMvc事务处理
- 安卓 通过www读取Application.persistentDataPath 路径的文件问题
- pat 1044. 火星数字