【发布时间】:2022-11-03 23:27:09
【问题描述】:
我想优化这段代码的时间复杂度。 现在,代码具有 O(n^2) 复杂度。如何降低复杂性? 输入是未排序的数组和目标,输出是真或假。
这是我的代码。
// pseudo code in js
function find(arr, target) {
for(let i = 0; i < arr.length; i++){
for(let j = i + 1; j < arr.length; j++){
if(target === (arr[i]+arr[j])){
return true;
}
}
}
return false;
}
我认为提示是unsorted 数组。而且我完全不知道..
【问题讨论】:
-
你的输入/目标是什么样的?将其作为minimal reproducible example/sn-p 添加到您的问题中。
-
arr[i]的类型是什么? -
抱歉,伙计们... arr 的类型是
number[],目标类型是number
标签: javascript algorithm