正如问题中提到的,需要找到数组中的(i,j)对的总数,以便
(1) **i<j**
(2) **a[i]>a[j]**
其中i和j是数组的索引。没有空间限制。
我的问题是
1) Is there any approach which takes less than O(N^2) time?
2) if so what is least complexity ?
3) How do we prove that ?
我希望我把问题说清楚了。
我的方法如下
做这个问题的一种方法是使用暴力前,这需要O(N^2)时间。
但我认为这个问题应该有一个更好的优化解决方案-至少O(Nlog
下面的程序(摘自教程)按从低到高的顺序打印数组中的数字。在本例中,结果将为2,4,5,13,31
我的问题与函数compareNumbers的参数"a“和"b”有关。当在numArray.sort(compareNumbers)中调用函数时,函数的参数a和b将是什么数字。它只是沿着数组移动。例如,从a=13和b=2开始?在此之后,该函数是否再次运行比较a=2和b=31?或者下一步会比较a=31和b=4
谁能解释一下这个部分是如何工作的,以及它是如何从最低到最高对它们进行排序的?我不明白这个函数是如何对数组中的数字进行必要的计算的。
function compareNumbers