import java.util.ArrayList;
import org.junit.Test;
public class solution {
@Test
public void testFunc(){
int[] arr={2,3,4,2,6,2,5,1};
searchMax(arr, 3);
}
// 滑动窗口的最大值
public void searchMax(int[] arr, int k){
ArrayList<Integer> list = new ArrayList<Integer>();
if (arr.length<3) {
return;
}
list.add(0);
for(int i=1;i<arr.length;i++){
addNum(list, arr, i, k);
System.out.println(arr[list.get(0)]);
}
}
public void addNum(ArrayList<Integer> list, int[] arr, int index, int k){
if (index-list.get(0)>k-1) {
list.remove(0);
}
int size=list.size();
for(int i=size-1;i>=0;i--){
if (arr[index]>arr[list.get(i)]) {
list.remove(list.get(i));
}
}
list.add(index);
}
}