这个函数的时间复杂度是O(n)还是O(log(n))呢?
乍一看,它似乎在输入上进行了n/2次迭代。然而,如果您仔细思考一下,实际的低级操作数量更接近于2n。
function reverse(array) {
for (var i = 0, j = array.length - 1; i < j; i++, j--) {
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
乍一看,它似乎在输入上进行了n/2次迭代。然而,如果您仔细思考一下,实际的低级操作数量更接近于2n。