আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা তিনটি পূর্ণসংখ্যার অ্যারে গ্রহণ করবে যেগুলো বর্ধমান ক্রমে সর্টেড (sorted) আছে। ফাংশনটি একটি নতুন অ্যারে তৈরি করবে যেটে শুধু সেই উপাদানগুলো থাকবে যেগুলো তিনটি অ্যারেতে সবগুলোতে উপস্থিত।
উদাহরণস্বরূপ —
ইনপুট অ্যারেগুলো যদি হয় —
const arr1 = [4, 7, 8, 11, 13, 15, 17]; const arr2 = [1, 3, 4, 13, 18]; const arr3 = [2, 4, 7, 8, 9, 10, 13];
তাহলে আউটপুট হবে —
const output = [4, 13];
উদাহরণ
কোডটি নিচে দেওয়া হলো —
const arr1 = [4, 7, 8, 11, 13, 15, 17];
const arr2 = [1, 3, 4, 13, 18];
const arr3 = [2, 4, 7, 8, 9, 10, 13];
const intersectThree = (arr1 = [], arr2 = [], arr3 = []) => {
let curr1 = 0;
let curr2 = 0;
let curr3 = 0;
const res = [];
while((curr1 < arr1.length) && (curr2 < arr2.length) && (curr3 < arr3.length)){
if((arr1[curr1] === arr2[curr2]) && (arr2[curr2] === arr3[curr3])){
res.push(arr1[curr1]);
curr1++;
curr2++;
curr3++;
}
const max = Math.max(arr1[curr1], arr2[curr2], arr3[curr3]);
if(arr1[curr1] < max){
curr1++;
};
if(arr2[curr2] < max){
curr2++;
};
if(arr3[curr3] < max){
curr3++;
};
};
return res;
};
console.log(intersectThree(arr1, arr2, arr3));
আউটপুট
কনসোল আউটপুট:
[4, 13]