সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা যথাক্রমে প্রথম এবং দ্বিতীয় আর্গুমেন্ট হিসাবে লিটারেল, arr1 এবং arr2 এর দুটি অ্যারে নেয়৷
আমাদের ফাংশন উভয় অ্যারেতে প্রদর্শিত একটি সাবয়ারের সর্বাধিক দৈর্ঘ্য ফেরত দেওয়ার কথা৷
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয়
ইনপুট
const arr1 = [1, 2, 3, 2, 1]; const arr2 = [3, 2, 1, 4, 7];
আউটপুট
const output = 3;
আউটপুট ব্যাখ্যা
সর্বাধিক দৈর্ঘ্য সহ পুনরাবৃত্তি সাবয়ারে হল [3, 2, 1]।
উদাহরণ
নিম্নলিখিত কোড -
const arr1 = [1, 2, 3, 2, 1]; const arr2 = [3, 2, 1, 4, 7]; const maximumLength = (arr1 = [], arr2 = []) => { const dp = new Array(arr1.length + 1).fill(0).map(() => new Array(arr2.length + 1).fill(0)) for (let i = arr1.length - 1; i >= 0; i--) { for (let j = arr2.length - 1; j >= 0; j--) { if (arr1[i] === arr2[j]) { dp[i][j] = dp[i + 1][j + 1] + 1 } else { dp[i][j] = 0 } } }; return dp.reduce((acc, items) => Math.max(acc, ...items), 0) } console.log(maximumLength(arr1, arr2));
আউটপুট
3