【发布时间】:2017-02-10 10:39:51
【问题描述】:
例如在php中
$arr = [9, 4, 3, 5, 2, 6];
那么,
$output = [[0,0], [1,2], [2,2], [1,1], [4,1], [1,0]];
[0, 0] = 9 中较大的元素两边都是 0
[1, 2] = 4 的较大元素是左侧的 1 (9) 和右侧的 2 (5, 6) ... [ 9 > 4] - [ 5 > 4, 6 > 4 ]
[2, 2] = 3 中较大的元素是左边的 2 (9, 4) 和右边的 2 (5, 6)
[1, 1] = 5 中较大的元素是左侧的 1 (9) 和右侧的 1 (6)
[4, 1] = 2 (9, 4, 3, 5) 中较大的元素左边是 4,右边是 1 (6)
[1, 0] = 6 中较大的元素是左侧的 1 (9) 和右侧的 0(6 之后没有元素)
我想要 O(n log(n)),可以吗?
【问题讨论】:
-
我所做的类似于 #mickadoo 的答案,复杂度为 O(n2)
-
好吧,O(n^2) 太糟糕了
标签: php arrays code-complexity