剑指offer——滑动窗口的最大值_(非最佳解)
2017-06-03 10:16
260 查看
题目描述
给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{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]}。思路1(非最优):用暴力。两个数一个指向头,一个指向size大小的终端。然后每次遍历判定 这个区间的最大值 给它放入list。然后往后移动区间两端的数一位。
import java.util.ArrayList; public class Solution { public ArrayList<Integer> maxInWindows(int [] num, int size) { ArrayList<Integer>list = new ArrayList<>(); if(num.length<size||size==0)return list; int i=0;int j=size-1; while(j<num.length){ int tempi = i; int tempmax = num[tempi]; while(tempi<=j){ if(tempmax<num[tempi]){ tempmax = num[tempi]; } tempi++; }//while tempi list.add(tempmax); i++;j++; }//while j return list; } }
相关文章推荐
- 剑指offer系列之六十三:滑动窗口的最大值
- 剑指offer——滑动窗口的最大值(好题,数据结构)
- 剑指Offer_64_滑动窗口的最大值
- 剑指Offer——滑动窗口的最大值
- 《剑指Offer》 滑动窗口的最大值
- 剑指offer——滑动窗口中的最大值
- 剑指offer(61)-滑动窗口的最大值
- 剑指offer——63.滑动窗口的最大值
- 剑指offer(66):滑动窗口的最大值
- 剑指offer-64题 滑动窗口的最大值
- 《剑指Offer》学习笔记--面试题65:滑动窗口的最大值
- 剑指offer-64.滑动窗口的最大值
- 剑指offer:滑动窗口的最大值
- 《剑指offer》:[65]滑动窗口的最大值
- 剑指offer:滑动窗口的最大值:详细
- 《剑指offer》滑动窗口的最大值
- 剑指Offer系列-面试题65:滑动窗口的最大值
- 《剑指offer》-找出数组中所有滑动窗口里数值的最大值
- 滑动窗口的最大值(STL的应用+剑指offer)
- 剑指offer(59):滑动窗口的最大值(python版)