代码之家  ›  专栏  ›  技术社区  ›  Michael

滑动窗口最小算法

  •  5
  • Michael  · 技术社区  · 14 年前

    这是一个家庭作业问题。设A[]是一个整数数组,整数K——窗口大小。生成在窗口中看到的最小值的数组M,当它在a上滑动时,我发现 an article 为什么? 它具有O(n)复杂度。有人能给我解释一下吗?

    1 回复  |  直到 14 年前
        1
  •  9
  •   JPvdMerwe    14 年前

    这容易把人赶出去。你会认为这需要 O(N^2) O(N) 时间和你有 O(N) 元素。但是,要意识到每个元素只能添加一次,删除一次。所以总的来说 在整个阵列上滑动 A .

    O(1) 每次你移动滑动窗口一个元素。换句话说,将滑动窗口移动一个元素所需的平均时间是 O(一)