class Solution {
public int[] maxSlidingWindow(int[] nums, int k) {
int[] array = new int[nums.length - k + 1];
int ans = Integer.MIN_VALUE;
int left = 0;
int index = -1;
for(int right = k - 1; right < nums.length; right++,left++){
if(left <= index){
if(nums[right] >= nums[index]){
index = right;
ans = nums[right];
}
}
else if(nums[right] >= ans - 1){
index = right;
ans = nums[right];
}
else if(nums[left] >= ans - 1){
index = left;
ans = nums[left];
}
else{
ans = nums[left];
for(int j = left + 1; j <= right; j++){
if(nums[j] >= ans){
index = j;
ans = nums[j];
}
}
}
array[left] = ans;
}
return array;
}
}