import java.util.*;
public class E59MaxInQueue {
//队列的最大值
/*问题一:滑动窗口的最大值*/
public static Queue<Integer> getMaxInWindows(int[] queue, int windowsSize) {
if (queue == null || queue.length < windowsSize || windowsSize <= 0)
return null;
Queue<Integer> results = new LinkedList<>();
Deque<Integer> finder = new LinkedList<>();
for (int i = 0; i < windowsSize; i++) {
while (!finder.isEmpty() && queue[finder.peekLast()] <= queue[i])
finder.removeLast();
while (!finder.isEmpty() && finder.peekFirst() <=
队列的最大值(Java实现)
最新推荐文章于 2023-10-08 11:21:28 发布