给定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
答案 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 混淆。 (它们略有不同。你需要做少量的代数。)