【发布时间】:2012-02-18 17:38:48
【问题描述】:
给定一个包含 N 个元素的数组 A[0 .. N - 1],生成一个数组 B 使得:
B[i] = min (A[i], A[i+1], ..., A[i+K-1]).
(数组 B 正好有 (N-k+1) 个元素。
时间复杂度应该优于 O(N*k)
我在考虑使用 minheap...但是 heapify 会增加复杂性 蛮力也是 O(n*k)
空间复杂度也小于等于 O(k)
这是一个例子
Input:
A={ 2,1,3,2,5,7,1}, N=7,k=3
Output:
B={1,1,2,2,1}
【问题讨论】:
-
问题是什么? O(N*k) 是否正确?
-
没有必要将“should”缩写为“s'd”。让你的问题难以阅读并没有给自己带来任何好处。
-
不,O(n*k) 不正确。我也更新了问题
-
已经理解并发布了答案
标签: algorithm