次の関数:JavascriptのアルゴリズムでO(nlogn)
function solution(K, A) {
var counter=0;
for (var i=0;i<A.length;i++) {
for (var j=i;j<A.length;j++) {
if (A[i]+A[j]===K) {
if (i===j)
counter++;
else
counter+=2;
}
}
}
return counter;
}
がK. I の和を有するアレイ内のペア要素の数は、それはO(N^2/2 S認めます)?O(nlogn)
で上記を実装する別のアルゴリズムがありますか?
なぜi == jでカウンタがインクリメントされるのですか?同じインデックスの場合は、おそらくペアではありません。 – Nomaed
実際には、ルックアップテーブルを使ってO(n)でこの問題を解決して解決することができます。これは標準的なインタビューの質問です。 –
はい、それはn^2です。配列が順序付けられていない場合、私はあなたがそれより優れているとは思えません。 – nurdyguy