当前位置: 首页 > 后端技术 > Java

JZ-064-滑动窗口的最大值

时间:2023-04-01 13:52:36 Java

滑动窗口的最大值题目描述给定一个数组和滑动窗口的大小,求滑动窗口中所有值的最大值。比如输入数组为{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]}。当窗口大于数组长度时,返回空。题目链接:最大滑动窗口代码importjava.util.ArrayList;importjava.util.PriorityQueue;/***题目:最大滑动窗口*标题描述*给定一个数组和滑动窗口的大小,找出最大值滑动窗口中的所有值。比如输入数组为{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]}。*当窗口大于数组长度时,返回空*题目链接:*https://www.nowcoder.com/practice/1624bc35a45c42c0bc17d17fa0cba788?tpId=13&&tqId=11217&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking*/publicclassJz64{publicArrayListmaxInWindows(int[]num,intsize){ArrayListresult=newArrayList<>();如果(大小>num.length||大小<1){返回结果;}PriorityQueueheap=newPriorityQueue<>((o1,o2)->o2-o1);//bigtopheapfor(inti=0;i