这是一个特定于任务的代码,我想知道是否有更好的方法。因此,喜欢逻辑和编码的人,请帮助我。
这是问题:
令 A 为 n 个正整数的数组。所有元素都是不同的。如果 A[i] > A[j] 并且 i < j 则对 (i, j) 称为 A 的特殊对。给定 n 求 A 的特殊对的数量。
它非常简单直接。这是我实施的以下解决方案。逻辑部分。
for(int j=0;j<nos.size();j++)
{
for(int k=j+1;k<nos.size();k++)//always maintain condition that i<j and simply compare the numbers.
{
if(nos[j] > nos[k])
{
spc++;//compute special pair.
}
}
}
每个 nos[i] 都包含要计算特殊对的数组。有没有办法使用单个循环来做到这一点?或任何其他可以节省时间且速度更快的逻辑。在此先感谢我寻求从中了解更多信息。
你能告诉我如何在不执行代码的情况下确定哪个代码更快。非常欢迎您的意见。
主要问题是计算特殊对的数量。因此,只是 spc 的增量。