阅读 142

剑指 Offer 59 - I. 滑动窗口的最大值

剑指 Offer 59 - I. 滑动窗口的最大值

class Solution {    public int[] maxInWindows(int[] nums, int k) {        if(nums == null || nums.length == 0) return new int[0];                int[] res = new int[nums.length - k + 1];        Deque<Integer> q = new LinkedList<>();        int j = 0;        for(int i = 0; i < nums.length; i ++){            if(!q.isEmpty() && i - q.peek() >= k){                q.poll(); //弹出第一个            }  
                        while(!q.isEmpty() && nums[i] >= nums[q.peekLast()]){                q.pollLast(); //保持单调队列            }            q.offer(i); //入队            if(i >= k - 1){                res[j++] = nums[q.peek()];  //res更新            }                    }                return res;            }}

作者: 想用包子换论文

出处:https://www.cnblogs.com/vccyb/p/14667948.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐