「効率的なアルゴリズムを実装しよう」第2弾は、配列や文字列を効率的に走査するテクニックです。 今回も、2重ループO(n^2)をなくす方法です。 配列内や文字列の、組み合わせを比較する時に威力を発揮します。 早速ですが、問題を見てみましょう。 配列の要素数の組み合わせが「0」となる関数を作成せよ。なお、要素数はinteger型でありソートされたものとする。//実行結果 sumZero([-3,-2,-1,0,1,2,3]) //[-3,3] sumZero([-2,0,1,3]) //undefined sumZero([1,2,3]) //undefinedつまり、配列内の要素数に「0」になる組み合わせがあるか、探せばいいわけです。 ナイーブな解法 O(n^2)function sumZero(array) { for (let i = 0; i < array.length; i++)