单调队列,之后进来比队头的值要大且队头还在窗口内,会导致结果错误。Java翻译代码用例仅通过10个,是翻译错了吗? public ArrayList<integer> maxInWindows (int[] num, int size) { if (size < 1 || num.length < size) { return new ArrayList<>(); } ArrayList<integer> result = new ArrayList<>(); Deque<integer> queue = new LinkedList<>(); for (int i = 0; i < num.length; ++i) { System.out.println(num[i]); System.out.println(queue); if(!queue.isEmpty() && num[queue.peekLast()] < num[i]){ queue.pollLast(); } System.out.println(queue); queue.addLast(i); System.out.println(queue); if(queue.peekFirst() + size <= i){ queue.pollFirst(); } System.out.println(queue); if(i + 1 >= size) { result.add(num[queue.peekFirst()]); } System.out.println(); } return result; }</integer></integer></integer>
点赞

相关推荐

赏个offer求你了:友塔HR还专门加我告诉我初筛不通过😂
点赞 评论 收藏
分享
10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
牛客网
牛客企业服务