Sobes.tech
Middle

JavaScript tapşırığı: iki massiv qəbul edən və yalnız birində olan elementlərdən ibarət massiv qaytaran funksiya yazın (simmetrik fərq). Algoritmin mürəkkəbliyini qiymətləndirin.

sobes.tech Süni İntellekt

AI-dan cavab

Budur iki massivın simmetrik fərqini qaytaran JavaScript funksiyasının nümunəsidir:

function symmetricDifference(arr1, arr2) {
  const set1 = new Set(arr1);
  const set2 = new Set(arr2);
  const result = [];

  for (const item of set1) {
    if (!set2.has(item)) {
      result.push(item);
    }
  }

  for (const item of set2) {
    if (!set1.has(item)) {
      result.push(item);
    }
  }

  return result;
}

Algoritmin mürəkkəbliyi — O(n + m), burada n və m giriş massivlərinin uzunluqlarıdır. Bu, Set-ə əlavə etmə və yoxlama əməliyyatlarının amortizasiya olunmuş O(1) vaxtda həyata keçirilməsi və hər iki massivdəki hər bir elementi bir dəfə keçməyimizə görədir.