滑动窗口最大值

给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。
返回 滑动窗口中的最大值 。
输入:nums = [1,3,-1,-3,5,3,6,7], k = 3
输出:[3,3,5,5,6,7]
暴力题解通过41/51  超时    利用在原数组中不断遍历进行求解
记录:
public class Solution {
    public int[] MaxSlidingWindow(int[] nums, int k)
    {
        int n = nums.Length;
        int[] num = new int[n];
        int[] result = new int[n + 1 - k];//窗口数量 ,最后返回的值的数量
        for (int i = 0; i < n; i++)
        {
            num[i] = nums[i];
            Console.WriteLine(num[i]);//将nums赋值给num【i】 
        }
        for (int j = 0; j < n + 1 - k; j++)//外层循环控制有多少个窗口需要比较
        {
            int index = j;
            for (int i = j; i < k + j ; i++)//内层循环控制每一个窗口中有多少个值需要比较
            {
                if (num[index] < num[i])
                {
                    index = i ;
                }
            }
            result[j] = num[index];  //每个窗口结束后将MAX值赋值给数组result
        }
        return result;  
    }
} 笑点解析:题目没通过,在**发表不了 ,故在牛客记录一下(悲
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务