[作业] 滑动窗口的最大值

代码

public class Solution {
    public int[] MaxSlidingWindow(int[] nums, int k) {
        int startIndex=0;
        List<int> temp=new List<int>(nums),result=new List<int>();
        while(startIndex+k<=nums.Length)
        {
            result.Add(temp.GetRange(startIndex,k).Max());
            startIndex++;
        }
        return result.ToArray();
    }
}

在这里插入图片描述

思路

创建两个list,一个为原数组的复制,另一个储存结果
startIndex作为窗口中第一个数的下标 while循环中每次取以startIndex开头,k为长度的list的最大值加入到结果list中,然后startIndex+1
最后返回结果list的复制数组

发布了16 篇原创文章 · 获赞 1 · 访问量 269

猜你喜欢

转载自blog.csdn.net/qq_43727054/article/details/105178787