この解答例はChatGPTによって生成されています,正しいかは自己判断で。

BFE.devでのAI解答例 - JavaScript コーディング問題
167. 未ソート配列の交叉

以下はJavaScriptでの例示コードです:

function commonElements(arr1, arr2) { // 重複要素を取り除く let uniqueArr1 = [...new Set(arr1)]; let uniqueArr2 = [...new Set(arr2)]; let common = [];

// arr1の要素を順番にチェックする for (let i = 0; i < uniqueArr1.length; i++) { let current = uniqueArr1[i];

// arr2に現在の要素が含まれるかをチェックする
if (uniqueArr2.includes(current)) {
  common.push(current);
}

}

return common; }

// 例として、[1, 2, 3, 4, 5]と[3, 4, 5, 6, 7]の共通要素を探す let arr1 = [1, 2, 3, 4, 5]; let arr2 = [3, 4, 5, 6, 7];

let common = commonElements(arr1, arr2);

console.log(common); // [3, 4, 5]

この実装の時間複雑度は O(n^2) です。配列の要素数が増えるにつれて実行時間が増えるため、大きな配列では効率的でない可能性があります。空間複雑度は O(n) で、新しい配列を作成するために追加のメモリ領域が必要です。