特定の配列があります。これにより、配列内の2つの値が関数に渡された値と等しいかどうかを確認し、2つの整数が等しい場合は、それを新しい配列に渡します。
これを解決するには、2つの後方whileループを使用し、長さを変数としてキャッシュします。これは効率的と思われます。ただし、誰かが私に言ったのは、ループの1つが不要になり、それをはるかに効率的にして、BIGO表記を最適化する方法があるかもしれないということです。
これをどのように行うことができるかについてのアイデアはありますか?これは私が持っているものです...
var intArray = [1, 3, 7, 8, 10, 4, 6, 13, 0],
newArray = [],
i = intArray.length;
function arrayCheck(k) {
while(i--) {
var z = i;
while (z--) {
if (intArray[i] + intArray[z] === k) {
newArray.push(intArray[i]);
newArray.push(intArray[z]);
}
}
}
alert(newArray);
}
arrayCheck(8);