电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java 滑動(dòng)窗口最大值的實(shí)現(xiàn)

瀏覽:64日期:2022-08-12 10:45:19
一、題目

給你一個(gè)整數(shù)數(shù)組 nums,有一個(gè)大小為 k 的滑動(dòng)窗口從數(shù)組的最左側(cè)移動(dòng)到數(shù)組的最右側(cè)。你只可以看到在滑動(dòng)窗口內(nèi)的 k 個(gè)數(shù)字。滑動(dòng)窗口每次只向右移動(dòng)一位。

返回滑動(dòng)窗口中的最大值。

Java 滑動(dòng)窗口最大值的實(shí)現(xiàn)

二、單調(diào)隊(duì)列解析

題目讓求隨著滑動(dòng)窗口的滑動(dòng),返回窗口覆蓋范圍的最大值

該題不適合優(yōu)先級(jí)隊(duì)列,因?yàn)椴捎么箜敹汛娣舓個(gè)數(shù)字,可以知道此時(shí)的最大值,但是窗口是滑動(dòng)的,大頂堆每次只能彈出最大值,無(wú)法移除其他值,即無(wú)法用大頂堆維護(hù)滑動(dòng)窗口里的值。

所以采用隊(duì)列維護(hù),隨著窗口的移動(dòng),隊(duì)列先進(jìn)先出

此時(shí)對(duì)隊(duì)列的要求是,隊(duì)列首位為最大值,整個(gè)隊(duì)列呈遞減例如:1,3,-1,-3,5,3,6,7

初始:1,3,-1,隊(duì)列存入3,-1,使其保持遞減,且首位為此時(shí)滑動(dòng)窗口的最大值移動(dòng)到-3,隊(duì)列:3,-1,-3移動(dòng)到5,隊(duì)列:5移動(dòng)到3,隊(duì)列:5,3移動(dòng)到6,隊(duì)列:6移動(dòng)到7,隊(duì)列:7

所以為了滿(mǎn)足要求,需要自定義隊(duì)列

從示例可以看出,隊(duì)列沒(méi)必要維護(hù)窗口里所有元素,只需要保證隊(duì)列首位此時(shí)窗口的最大,而且,隊(duì)列元素為遞減,具體看代碼

三、代碼

import java.util.Deque;import java.util.LinkedList;//自定義數(shù)組class MyQueue { Deque<Integer> deque = new LinkedList<>(); //彈出元素時(shí),比較當(dāng)前要彈出的數(shù)值是否等于隊(duì)列出口的數(shù)值,如果相等則彈出 //同時(shí)判斷隊(duì)列當(dāng)前是否為空 void poll(int val) {if (!deque.isEmpty() && val == deque.peek()) { deque.poll();} } //添加元素時(shí),如果要添加的元素大于入口處的元素,就將入口元素彈出 //保證隊(duì)列元素單調(diào)遞減 //比如此時(shí)隊(duì)列元素3,1,2將要入隊(duì),比1大,所以1彈出,此時(shí)隊(duì)列:3,2 void add(int val) {while (!deque.isEmpty() && val > deque.getLast()) { deque.removeLast();}deque.add(val); } //隊(duì)列隊(duì)頂元素始終為最大值 int peek() {return deque.peek(); }}class Solution { public int[] maxSlidingWindow(int[] nums, int k) {if (nums.length == 1) { return nums;}int len = nums.length - k + 1;//存放結(jié)果元素的數(shù)組int[] res = new int[len];int num = 0;//自定義隊(duì)列MyQueue myQueue = new MyQueue();//先將前k的元素放入隊(duì)列for (int i = 0; i < k; i++) { myQueue.add(nums[i]);}res[num++] = myQueue.peek();for (int i = k; i < nums.length; i++) { //滑動(dòng)窗口移除最前面的元素,移除是判斷該元素是否放入隊(duì)列 myQueue.poll(nums[i - k]); //滑動(dòng)窗口加入最后面的元素 myQueue.add(nums[i]); //記錄對(duì)應(yīng)的最大值 res[num++] = myQueue.peek();}return res; }}四、總結(jié)

該題利用了單調(diào)隊(duì)列,需要自己定義入隊(duì)出隊(duì)規(guī)則

入隊(duì):保持隊(duì)首元素始終最大,同時(shí)隊(duì)內(nèi)維護(hù)窗口的大小個(gè)元素,呈現(xiàn)遞減

出隊(duì):判斷當(dāng)前元素是否入隊(duì),在隊(duì)內(nèi),再隨著窗口的滑動(dòng)執(zhí)行出隊(duì)操作

到此這篇關(guān)于Java 滑動(dòng)窗口最大值的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java 滑動(dòng)窗口最大值內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 青岛代理记账_青岛李沧代理记账公司_青岛崂山代理记账一个月多少钱_青岛德辉财税事务所官网 | 北京京云律师事务所 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 上海三信|ph计|酸度计|电导率仪-艾科仪器 | 无轨电动平车_轨道平车_蓄电池电动平车★尽在新乡百特智能转运设备有限公司 | 法兰连接型电磁流量计-蒸汽孔板节流装置流量计-北京凯安达仪器仪表有限公司 | 广西教师资格网-广西教师资格证考试网 | 氟氨基酮、氯硝柳胺、2-氟苯甲酸、异香兰素-新晨化工 | 铣床|万能铣床|立式铣床|数控铣床|山东滕州万友机床有限公司 | 过跨车_过跨电瓶车_过跨转运车_横移电动平车_厂区转运车_无轨转运车 | 色谱柱-淋洗液罐-巴罗克试剂槽-巴氏吸管-5ml样品瓶-SBS液氮冻存管-上海希言科学仪器有限公司 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | app开发|app开发公司|小程序开发|物联网开发||北京网站制作|--前潮网络 | 包装机传感器-搅拌站传感器-山东称重传感器厂家-济南泰钦电气 | 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 | 辽宁资质代办_辽宁建筑资质办理_辽宁建筑资质延期升级_辽宁中杭资质代办 | 浙江美尔凯特智能厨卫股份有限公司 | 衬四氟_衬氟储罐_四氟储罐-无锡市氟瑞特防腐科技有限公司 | 蒸压釜-陶粒板隔墙板蒸压釜-山东鑫泰鑫智能装备有限公司 | 管家婆-管家婆软件-管家婆辉煌-管家婆进销存-管家婆工贸ERP | 国资灵活用工平台_全国灵活用工平台前十名-灵活用工结算小帮手 | 圆形振动筛_圆筛_旋振筛_三次元振动筛-河南新乡德诚生产厂家 | 无缝钢管-聊城无缝钢管-小口径无缝钢管-大口径无缝钢管 - 聊城宽达钢管有限公司 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 数字展示在线_数字展示行业门户网站 | 中国品牌门窗网_中国十大门窗品牌_著名门窗品牌 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 雨水收集系统厂家-雨水收集利用-模块雨水收集池-徐州博智环保科技有限公司 | 自动螺旋上料机厂家价格-斗式提升机定制-螺杆绞龙输送机-杰凯上料机 | 深圳办公室装修-写字楼装修设计-深圳标榜装饰公司 | 全钢实验台,实验室工作台厂家-无锡市辰之航装饰材料有限公司 | 同步带轮_同步带_同步轮_iHF合发齿轮厂家-深圳市合发齿轮机械有限公司 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 风信子发稿-专注为企业提供全球新闻稿发布服务 | 台式恒温摇床价格_大容量恒温摇床厂家-上海量壹科学仪器有限公司 | 影像测量仪_三坐标测量机_一键式二次元_全自动影像测量仪-广东妙机精密科技股份有限公司 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 高低温试验房-深圳高低温湿热箱-小型高低温冲击试验箱-爱佩试验设备 | 南京PVC快速门厂家南京快速卷帘门_南京pvc快速门_世界500强企业国内供应商_南京美高门业 | 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 |