কম্পিউটার

কিভাবে একটি স্ট্রিং মধ্যে পুনরাবৃত্তি অক্ষর সর্বাধিক গণনা পেতে? জাভাস্ক্রিপ্ট


আমাদের একটি স্ট্রিং আছে যাতে কিছু বারবার এইরকম অক্ষর থাকে −

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

  1. জাভাস্ক্রিপ্টে স্ট্রিংয়ের শুরুতে সমস্ত বড় অক্ষর কীভাবে সরানো যায়?

  2. জাভাস্ক্রিপ্টে একটি স্ট্রিং হিসাবে সম্পূর্ণ ডকুমেন্ট HTML কিভাবে পেতে হয়?

  3. জাভাস্ক্রিপ্টে বারবার অক্ষর সহ একটি স্ট্রিং থেকে একটি স্ট্রিংয়ের শক্তি সন্ধান করা

  4. জাভাস্ক্রিপ্টে একটি স্ট্রিং-এ একটি নির্দিষ্ট স্ট্রিংয়ের উপস্থিতি কীভাবে গণনা করা যায়