2020.3.29

LeetCode题239滑动窗口最大值

最近云顶之奕版本更新,为了s3首次吃鸡有点玩上头了,周末才来补这周的LeetCode作业

题目:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。
返回滑动窗口中的最大值。
2020.3.29_第1张图片
我的解法

class Solution {
    public int[] maxSlidingWindow(int[] nums, int k) {
        int n = nums.length;
        if (n * k == 0) return new int[0];
        int [] result = new int[n-k+1];
        for(int i=0;i<n-k+1;i++)
        {
            result[i]=nums[i];
            for(int j=i;j<i+k;j++)
            {
                result[i]=(result[i]>nums[j])?result[i]:nums[j];
            }
        }
        return result;
    }
}

2020.3.29_第2张图片

  用了一种笨办法,好像时间复杂度是O(n^2)吧。等以后系统地学习了动态
  规划再回过头来看看这道题。

你可能感兴趣的:(2020.3.29)