সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি ইন্টিজার অ্যারে (arr) নেবে যা ক্রমবর্ধমান সর্ট করা আছে। ফাংশনটি প্রতিটি সংখ্যার বর্গ নিয়ে সেটিও ক্রমবর্ধমান ক্রমে সর্ট করা অবস্থায় রিটার্ন করবে।
উদাহরণস্বরূপ, ইনপুট যদি হয় –
const arr = [-2, -1, 1, 3, 6, 8];
তবে আউটপুট হবে –
const output = [1, 1, 4, 9, 36, 64];
উদাহরণ
কোডটি নিচের মতো –
const arr = [-2, -1, 1, 3, 6, 8]; const findSquares = (arr = []) => { const res = []; let left = 0; let right = arr.length - 1; while (left <= right) { const leftSquare = arr[left] * arr[left]; const rightSquare = arr[right] * arr[right]; if (leftSquare < rightSquare) { res.push(rightSquare); right -= 1; } else { res.push(leftSquare); left += 1; } } return res.reverse(); }; console.log(findSquares(arr));আউটপুট
কনসোলে আউটপুট হবে –
[ 1, 1, 4, 9, 36, 64 ]