64、滑动窗口最大值

思路:

数组长度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;
    }
}

猜你喜欢

转载自blog.csdn.net/lupa1521/article/details/90138727