日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 滑動窗口的最大值

滑動窗口的最大值

來源:程序員人生   發布時間:2016-07-26 13:14:53 閱讀次數:2566次

題目

給定1個數組和滑動窗口的大小,找出所有滑動窗口里數值的最大值。
例如,如果輸入數組{2,3,4,2,6,2,5,1}及滑動窗口的大小3,那末1共存在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:暴力
時間復雜度:O(nk)

import java.util.*; public class Solution { public ArrayList<Integer> maxInWindows(int [] num, int size) { ArrayList<Integer> result = new ArrayList<Integer>(); int len = num.length; if(size<=0 || size> len) return result; for(int i=0;i<len;i++){ int max = Integer.MIN_VALUE; for(int k=0;k+i < len && k<size;k++){ max = max>num[i+k]?max:num[i+k]; } result.add(max); if(i+size==len) break; } return result; } }

方法2:利用隊列
隊列寄存滑動窗口中較大元素的下標

import java.util.ArrayList; import java.util.*; public class Solution { public ArrayList<Integer> maxInWindows(int[] num, int size) { ArrayList<Integer> result = new ArrayList<>(); if (num == null) { return result; } if (num.length < size || size < 1) { return result; } LinkedList<Integer> indexDeque = new LinkedList<>(); for (int i = 0; i < size; i++) { while (!indexDeque.isEmpty() && num[i] >= num[indexDeque.getLast()]) { indexDeque.removeLast(); } indexDeque.addLast(i); } for (int i = size; i < num.length ; i++) { result.add(num[indexDeque.getFirst()]); while (!indexDeque.isEmpty() && num[i] >= num[indexDeque.getLast()]) { indexDeque.removeLast(); } if (!indexDeque.isEmpty() && indexDeque.getFirst() <= (i - size)) { indexDeque.removeFirst(); } indexDeque.addLast(i); } result.add(num[indexDeque.getFirst()]); return result; } }

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美精品一级二级 | 日韩精品视频免费观看 | 久久性色 | av片免费 | 国产一区二区免费播放 | 久久久精品区 | 国产精品毛片一区二区在线看 | av成人在线播放 | 日韩精品中文字幕在线 | 欧美成人资源 | 亚洲精品成人av | 一本亚洲 | 日韩中文在线视频 | 日韩大片免费观看 | 国产精品久久久久久亚洲调教 | 午夜精品久久久久久久99热浪潮 | 亚洲www啪成人一区二区麻豆 | 三级国产在线观看 | 国产精品一区二区精品视频免费看 | 精品久久免费 | www.色五月| 欧洲天堂网 | 最新日韩精品在线观看 | 国产午夜精品一区二区三区四区 | 国产日韩精品一区二区 | 欧美做受| 99在线看 | 国产成人精品在线 | 中文激情网 | 美女二区| 久久国产精品一区 | 国产精品伦一区二区三级视频 | 在线激情 | 九九视频网 | 国产精品午夜在线 | 久久综合一区二区 | 日韩91| 国产精品综合一区二区 | av国产精品| 亚洲精品一区二区三区在线 | 偷拍视频一区二区 |