题解 | #滑动窗口的最大值#

滑动窗口的最大值

http://www.nowcoder.com/practice/1624bc35a45c42c0bc17d17fa0cba788

import java.util.*;
public class Solution {
    public ArrayList<Integer> maxInWindows(int [] num, int size) {
        ArrayList<Integer> list = new ArrayList<Integer>();
        if(num.length<size||size==0) return list;
        int max = num[0];
        for(int i = 1;i<size;i++) max = Math.max(max,num[i]);
        list.add(max);
        for(int i = size;i<num.length;i++){
            if(num[i]>=max) {max=num[i]; list.add(max);continue;}
            if(num[i-size]<max) {list.add(max);continue;}
            max = num[i];
            for(int j = i-size+1;j<=i;j++) max = Math.max(max,num[j]);
            list.add(max);
        }
        
        return list;
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务