数组中的最大不同反转数

时间:2015-02-24 05:35:58

标签: sorting recurrence

给定n个整数的数组A,我们说如果A [i]> A [j],则一对索引i

是的吗? a)n - 1
b)n
c)n(n-1)/ 2
d)n ^ 2
e)n(n-1)(2n-1)/ 6

1 个答案:

答案 0 :(得分:2)

嗯,显然有可能所有对不同的索引都是反转的(如果整个数组的顺序相反,例如:[5,4,3,2,1])。并且显然不可能对所有对不同的索引进行反转。

所以问题是:有多少对不同的指数?

如果按几何方式排列,则图案非常清晰:

(1,2) (1,3) (1,4) (1,5)
      (2,3) (2,4) (2,5)
            (3,4) (3,5)
                  (4,5)

(请注意,我没有包含例如(2,1),因为这与(1,2)的索引相同。)

这些数字被称为 triangular numbers ,原因很明显。维基百科给出了一个公式,但请确保不要将其公式中的 n 与问题陈述中的 n 混淆。 (它们略有不同。你需要做少量的代数。)