আমাদের একটি স্ট্রিং আছে যাতে কিছু বারবার এইরকম অক্ষর থাকে −
const a = "fdsfjngjkdsfhhhhhhhhhhhfsdfsd";
আমাদের কাজ হল এমন একটি ফাংশন লেখা যা streak-এ সর্বাধিক পরপর একই অক্ষরের গণনা প্রদান করে। উপরের স্ট্রিং এর মত h অক্ষরটি পরপর 11 বার দেখা যাচ্ছে, তাই আমাদের ফাংশন এই স্ট্রিং এর জন্য 11 রিটার্ন করবে।
এই সমস্যাটি এই স্লাইডিং উইন্ডো অ্যালগরিদমের জন্য একটি ভাল প্রার্থী, এখানে একটি স্থিতিশীল উইন্ডো থাকবে যেখানে পরপর অক্ষর রয়েছে এবং যেটিতে বিভিন্ন উপাদান রয়েছে সেটি অস্থির। উইন্ডোটি শেষে নতুন অক্ষর যোগ করে এবং পুনরাবৃত্ত অক্ষরগুলি সরিয়ে দিয়ে স্থিতিশীল হতে থাকে। শুরু করুন৷
৷এই ফাংশনের কোড যা স্লাইডিং উইন্ডো অ্যালগরিদম ব্যবহার করে তা হবে −
উদাহরণ
const a = "fdsfjngjkdsfhhhhhhhhhhhfsdfsd"; const findMaximumRepeating = str => { let max = 0; for(let start = 0, end = 1; end < str.length; ){ if(str[end] === str[start]){ if(max < end - start + 1){ max = end - start + 1; }; end++; } else { start = end; }; }; return max; }; console.log(findMaximumRepeating(a));
আউটপুট
কনসোলে আউটপুট হবে −
11