欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

64、滑动窗口最大值

程序员文章站 2022-07-10 10:25:33
...

思路:

数组长度a.length,滑动窗口size,最大值数组长度a.length-size+1

数组从头开始遍历,当前窗口最后一个值current=size+i

令min=j,从j到current遍历,找到最小值

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

 

相关标签: offer