আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং নেয়। ফাংশনটি দুটি একই অক্ষরের মধ্যে স্যান্ডউইচ করা দীর্ঘতম সাবস্ট্রিংটির দৈর্ঘ্য খুঁজে পাওয়া উচিত এবং ফিরিয়ে দেওয়া উচিত৷
যেমন-
যদি ইনপুট স্ট্রিং −
হয়const str = 'avbghvh';
তারপর আউটপুট −
হওয়া উচিতconst output = 3;
কারণ কাঙ্খিত দীর্ঘতম সাবস্ট্রিং দুটি v এর মধ্যে 'bgh'।
উদাহরণ
const str = 'avbghvh';
const longestSub = (str = '') => {
const map = new Map();
let max = -1;
for(let i = 0; i < str.length; i++){
if(map.has(str.charAt(i))){
max = Math.max(max, i - map.get(str.charAt(i)) - 1);
}else{
map.set(str.charAt(i), i);
};
};
return max;
};
console.log(longestSub(str)); আউটপুট
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে3