剑指offer:滑动窗口的最大值
来源:互联网 发布:蒙语输入法软件下载 编辑:程序博客网 时间:2024/04/28 19:03
题目描述
给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{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> res; if (num.size() >=size && size >= 1){ deque<int> index; for (int i= 0; i < size; i++){ while (!index.empty() && num[i]>num[index.back()]){ index.pop_back(); } index.push_back(i); } for (int i = size; i < num.size(); i++){ res.push_back(num[index.front()]); while (!index.empty() && num[i]>num[index.back()]){ index.pop_back(); } index.push_back(i); if (!index.empty() && (i - index.front()) >= size){ index.pop_front(); } } res.push_back(num[index.front()]); } return res; }};
0 0
- 剑指offer 65 - 滑动窗口的最大值
- 《剑指offer》滑动窗口的最大值
- 剑指offer—滑动窗口的最大值
- 剑指offer:滑动窗口的最大值
- 剑指offer:滑动窗口的最大值
- [剑指offer]滑动窗口的最大值
- 《剑指offer》:[65]滑动窗口的最大值
- 剑指Offer--065-滑动窗口的最大值
- 剑指offer-滑动窗口的最大值
- 【剑指offer】滑动窗口的最大值
- 《剑指Offer》 滑动窗口的最大值
- 剑指offer-64.滑动窗口的最大值
- 剑指offer-滑动窗口的最大值
- 剑指offer 滑动窗口的最大值
- 剑指offer—滑动窗口的最大值
- 剑指offer — 滑动窗口的最大值
- 剑指offer 滑动窗口的最大值
- 滑动窗口的最大值(STL的应用+剑指offer)
- 观察者模式
- vi 命令总结
- 学习篇---自定义SiderBar
- [BZOJ1088] 扫雷游戏mine
- 艺术编程入门(2)----认识一下Processing
- 剑指offer:滑动窗口的最大值
- 阿里无线的雄心壮志
- myeclipse10.7上搭建spring mvc+hibernate开发框架(spring3+hibernate3.3),并完成登录验证功能
- 一些总结
- 百度地图之控件使用
- Android ----SQLiteDate(Cursor接口)
- 第十周项目—阅读程序,写出执行结果(3)
- java中静态属性和和静态方法的继承问题 以及多态的实质
- 方法与消息