在整数列表中查找非奇偶校验反转的数量

时间:2014-02-04 02:28:33

标签: algorithm

给定一个整数列表,非奇偶校验反转是一对具有不同奇偶性的倒置对(一个是偶数,一个是奇数)。

我将设计一个O(n log n)算法,该算法计算非奇偶校验反转的数量。我理解如何计算O(n log n)时间内的反转总数,但我不确定如何仅计算非奇偶校验反转。

有什么建议让我开始吗?

这是一项家庭作业,所以只要在正确的方向上轻推就行了。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您需要使用条件表达式来确定该集合是否为非奇偶校验反转(即包含一个偶数和一个奇数整数)。

如果条件为真(确实存在非奇偶校验反转),那么您可以将它们添加到总集或计数中。如果没有,那么继续前进到下一组。

使用此条件语句不会为您的算法添加任何额外的重要复杂性,因为可以使用现有信息来完成。因此,如果您已经有O(n log n)算法,则可以使用此条件对其进行修改,而不会增加其时间复杂度。