Algorithm 滑动窗口最小算法

Algorithm 滑动窗口最小算法,algorithm,sliding-window,Algorithm,Sliding Window,这是一个家庭作业问题。设A[]是整数数组,整数K——窗口大小。生成窗口滑过a时看到的最小值数组M。我找到了解决此问题的方法,但不理解为什么它具有O(n)复杂性。有人能给我解释一下吗?这往往会让人大吃一惊。您可能会认为这需要O(N^2)时间,因为您需要O(N)时间来推理添加O(N)元素。但是,要意识到每个元素只能添加一次,删除一次。因此,总的来说,滑动整个阵列需要O(N) 每次移动滑动窗口一个元素时,这将产生O(1)的摊销效率。换句话说,滑动窗口移动一个元素的平均时间是O(1)@Andre:Oh,

这是一个家庭作业问题。设A[]是整数数组,整数K——窗口大小。生成窗口滑过a时看到的最小值数组M。我找到了解决此问题的方法,但不理解为什么它具有O(n)复杂性。有人能给我解释一下吗?

这往往会让人大吃一惊。您可能会认为这需要
O(N^2)
时间,因为您需要
O(N)
时间来推理添加
O(N)
元素。但是,要意识到每个元素只能添加一次,删除一次。因此,总的来说,滑动整个阵列需要
O(N)


每次移动滑动窗口一个元素时,这将产生
O(1)
的摊销效率。换句话说,滑动窗口移动一个元素的平均时间是
O(1)

@Andre:Oh,我不知道。在上看到它。也许标签的描述中应该有注释?