আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা দুটি স্ট্রিং নেবে। ডাকব সেগুলো str1 এবং str2। ফাংশনটি তারপর উভয় ইনপুট স্ট্রিংয়ের কমন সবচেয়ে লম্বা কনসিকিউটিভ স্ট্রিং খুঁজে বের করবে এবং সেই কমন স্ট্রিংটি রিটার্ন করবে।
উদাহরণস্বরূপ:
যদি ইনপুট স্ট্রিংগুলো হয়:
const str1 = 'ABABC'; const str2 = 'BABCA';
তাহলে আউটপুট স্ট্রিং হবে:
const output = 'BABC';
উদাহরণ
নিচে কোডটি দেওয়া হলো:
const str1 = 'ABABC'; const str2 = 'BABCA'; const findCommon = (str1 = '', str2 = '') => { const s1 = [...str1]; const s2 = [...str2]; const arr = Array(s2.length + 1).fill(null).map(() => { return Array(s1.length + 1).fill(null); }); for (let j = 0; j <= s1.length; j += 1) { arr[0][j] = 0; } for (let i = 0; i <= s2.length; i += 1) { arr[i][0] = 0; } let len = 0; let col = 0; let row = 0; for (let i = 1; i <= s2.length; i += 1) { for (let j = 1; j <= s1.length; j += 1) { if (s1[j - 1] === s2[i - 1]) { arr[i][j] = arr[i - 1][j - 1] + 1; } else { arr[i][j] = 0; } if (arr[i][j] > len) { len = arr[i][j]; col = j; row = i; } } } if (len === 0) { return ''; } let res = ''; while (arr[row][col] > 0) { res = s1[col - 1] + res; row -= 1; col -= 1; } return res; }; console.log(findCommon(str1, str2));আউটপুট
কনসোলে নিচের আউটপুট পাওয়া যাবে:
BABC