while (i < numsSize) {
while ((start != end ) && (nums[i] > nums[deque[end - 1]])) {
end--;
}
deque[end++] = i;
if (i >= k - 1) {
left = i + 1 - k;
result[left] = nums[deque[start]];
if ((start != end) && (deque[start] == left)) {
start++;
}
}
i++;
}
free(deque);
*returnSize = outLen;
return result;
}