滑动窗口
func maxSlidingWindow(nums []int, k int) []int {
len:=len(nums)
if len<=0||k<=0||k>len{
return nil
}
var maxnums []int
max:=-1
for i:=0;i<=len-k;i++{
low:=i
high:=i+k-1
if max==-1||max==nums[i-1]{
// 如果是第一个滑动窗口或者最大值被滑动出去
// 重新比较出最大值
max=getmax(nums,low,high)
}else{
// 新进来的元素和max进行比较
if max<nums[high]{
max=nums[high]
}
}
maxnums=append(maxnums,max)
// 添加到maxnum中
}
return maxnums
}
func getmax(nums []int,low int, high int)int{
max:=nums[low]
for i:=low+1;i<=high;i++{
if max<nums[i]{
max=nums[i]
}
}
return max
}