滑动窗口的最大值
来源:互联网 发布:全息图片制作软件 编辑:程序博客网 时间:2024/05/29 07:59
//题目:给定一个数组和滑动窗口的大小,找出滑动窗口的最大值//比如数组为:{2,3,4,2,6,2,5,1},滑动窗口的大小为3://输出:{4,4,6,6,6,5}
public class SllidWindow {public static void main(String[] args) {// TODO Auto-generated method stubint[] datas = {2,3,4,2,6,2,5,1};for(int i : findMaxInWindow(datas, 3)){System.out.print(i);}} public static int[] findMaxInWindow(int[] datas,int size){int[] res = new int[datas.length-size+1];LinkedList<Integer> queue = new LinkedList<Integer>();for(int i = 0;i<size;i++){if(!queue.isEmpty()&&datas[i]>=datas[queue.getLast()]){queue.removeLast();}queue.addLast(i);}for(int i = size;i<datas.length;i++){res[i-size] = datas[queue.getFirst()];if(!queue.isEmpty()&&datas[i]>=datas[queue.getLast()]){queue.removeLast();}if(!queue.isEmpty()&&(i-queue.getFirst())>=size){queue.removeFirst();}queue.addLast(i); }res[res.length-1] = datas[queue.getFirst()];return res;}}
0 0
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- 滑动窗口的最大值
- Java 集合系列06之 Vector详细介绍(源码解析)和使用示例
- 关于iOS应用转移长时间未成功的应对办法
- mysql5.6 win 安装 卸载总结
- Linux下的编辑器:vi和vim
- Android md5加密
- 滑动窗口的最大值
- 工作区和暂存区
- Swift 协议
- Graphical Model(概率图模型)的浅见
- Button、ImageButton及ImageView详解
- 管理修改
- Future,FutureTask,Callable,Runnable的用法
- 韩顺平java 第30讲 布局管理器
- 《Orange's 一个操作系统的实现》学习笔记(二) 实模式和保护模式