আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি নম্বরের অ্যারে নেবে। ফাংশনে ইনপুট দেওয়া অ্যারেতি দুটি স্পেশাল প্রোপার্টি রাখবে:
অ্যারেতির দৈর্ঘ্য সবসময় ইভেন নম্বর হবে।
অ্যারেতে ইভেন নম্বরের সংখ্যা এবং অড নম্বরের সংখ্যা সবসময় সমান থাকবে (অর্থাৎ অ্যারেতের দৈর্ঘ্যের অর্ধেক)।
ফাংশনটি অ্যারেতি এলিমেন্টগুলো শাফল করবে যাতে সকল ইভেন মান ইভেন ইনডেক্সে এবং সকল অড মান অড ইনডেক্সে থাকে।
নোট করুন এই সমস্যার একাধিক সঠিক সমাধান থাকতে পারে, আমাদের যেকোনো একটি বের করতে হবে।
উদাহরণ
নিচে কোডটি দেওয়া হলো:
const arr = [1, 2, 3, 4, 5, 6]; const arrangeToIndices = (arr = []) => { let [even, odd] = [0, 1]; while (even < arr.length && odd < arr.length) { if (arr[even] % 2 === 1 && arr[odd] % 2 === 0) { [arr[even], arr[odd]] = [arr[odd], arr[even]]; [even, odd] = [even + 2, odd + 2]; } else { if (0 === arr[even] % 2){ even += 2; }; if (1 === arr[odd] % 2){ odd += 2 }; }; }; return arr; }; console.log(arrangeToIndices(arr));আউটপুট
কনসোল আউটপুট:
[ 2, 1, 4, 3, 6, 5 ]