1. 程式人生 > >leetcode 239: 滑動視窗最大值

leetcode 239: 滑動視窗最大值

並沒有完成線性時間複雜度解決問題,最壞情況下的時間複雜度為O(n*k)

std::vector<int> maxSlidingWindow(std::vector<int>& nums, int k) {
    std::vector<int> a;
    if(nums.size()==0||k==0)
        return a;
    int max=nums[0];
    for(int i=i+1;i<k;i++){
        if(max<nums[i])
            max=nums[i];
    }
    for(int i=0;i<nums.size()-k+1;i++){
        if(nums[i+k-1]>max)
            max=nums[i+k-1];
        else {
            max = nums[i];
            for (int j = i + 1; j < i + k; j++) {
                if (max < nums[j])
                    max = nums[j];
            }
        }
        a.push_back(max);
    }
    return a;
}