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.