কম্পিউটার

C++ এ বর্ণানুক্রমিক সাবস্ট্রিংগুলির গণনা খুঁজুন


ধরুন আমাদের দৈর্ঘ্য n এর একটি স্ট্রিং আছে। এতে শুধুমাত্র বড় হাতের অক্ষর রয়েছে। আমাদের সাবস্ট্রিংগুলির সংখ্যা খুঁজে বের করতে হবে যার অক্ষর বর্ণানুক্রমিকভাবে ঘটছে। সাবস্ট্রিং এর ন্যূনতম আকার হবে 2। তাই যদি স্ট্রিংটি হয়:“REFJHLMNBV”, এবং সাবস্ট্রিং সংখ্যা 2 হয়, তারা হল “EF” এবং “MN”।

সুতরাং এটি সমাধান করার জন্য, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • str[i] + 1 str[i+1] এর মতোই কিনা তা পরীক্ষা করুন, যদি তাই হয়, তাহলে ফলাফল 1 দ্বারা বাড়ান, এবং স্ট্রিংটিকে পরবর্তী অক্ষর পর্যন্ত পুনরাবৃত্তি করুন যা বর্ণানুক্রমের বাইরে, অন্যথায় চালিয়ে যান।<

উদাহরণ

#include<iostream>
using namespace std;
int countSubstr(string main_str) {
   int res = 0;
   int n = main_str.size();
   for (int i = 0; i < n - 1; i++) {
      if (main_str[i] + 1 == main_str[i + 1]) {
         res++;
         while (main_str[i] + 1 == main_str[i + 1]) {
            i++;
         }
      }
   }
   return res;
}
int main() {
   string str = "REFJHLMNBV";
   cout << "Number of substrings: " << countSubstr(str);
}

আউটপুট

Number of substrings: 2

  1. C++ এ একটি স্ট্রিং-এ প্রথম পুনরাবৃত্তি করা শব্দটি খুঁজুন

  2. C++ এ সাজানো ক্রমে n-ম বাইনারি স্ট্রিং খুঁজুন

  3. C++ ব্যবহার করে অন্যটিতে উপস্থিত একটি স্ট্রিংয়ের সাবস্ট্রিংয়ের সংখ্যা খুঁজুন

  4. C++ ব্যবহার করে একটি স্ট্রিং এর সাবস্ট্রিং এর সংখ্যা খুঁজুন