অ্যানাগ্রাম অ্যারে (Anagram arrays):
একটি অ্যারে অন্য অ্যারের অ্যানাগ্রাম হয় যদি প্রথম অ্যারের উপাদানগুলো র্যান্ডোমাইজ করে দ্বিতীয় অ্যারে পাওয়া যায়।
উদাহরণস্বরূপ —
[1, 2, 3] and [2, 1, 3] are anagrams of each other.
মনে করুন, আমাদের দুটি অ্যারে আছে, arr1 এবং arr2 যেগুলো একে অপরের অ্যানাগ্রাম।
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এই দুটি অ্যারে গ্রহণ করবে এবং arr1 এবং arr2 এর সমান দৈর্ঘ্যের একটি নতুন ম্যাপিং অ্যারে রিটার্ন করবে। ম্যাপিং অ্যারেতে arr1 এর উপাদানগুলো arr2 তে কোন ইনডেক্সে আছে সেটি থাকবে।
উদাহরণস্বরূপ —
দুই ইনপুট অ্যারে যদি হয় —
const arr1 = [23, 39, 57, 43, 61]; const arr2 = [61, 23, 43, 57, 39];
তাহলে আউটপুট হবে —
const output = [1, 4, 3, 2, 0];
কারণ arr1-এ ইনডেক্স ০-তে থাকা আইটেম arr2-তে ইনডেক্স ১-তে আছে, arr1-এ ইনডেক্স ১-তে থাকা আইটেম arr2-তে ইনডেক্স ৪-তে আছে, ইত্যাদি।
উদাহরণ
কোডটি নিচে দেওয়া হলো —
const arr1 = [23, 39, 57, 43, 61];
const arr2 = [61, 23, 43, 57, 39];
const anagramMappings = (arr1 = [], arr2 = []) => {
const res = [];
for(let i = 0; i < arr1.length; i++) {
for(let j = 0; j < arr2.length; j++) {
if(arr1[i] == arr2[j]){
res.push(j);
};
};
};
return res;
};
console.log(anagramMappings(arr1, arr2));
আউটপুট
কনসোল আউটপুট:
[ 1, 4, 3, 2, 0 ]