কম্পিউটার টিউটোরিয়াল

অ্যালফাবেটিক্যাল অর্ডারে সাবস্ট্রিং গণনা করা (C++)

শুধু বড় হাতের অক্ষরযুক্ত একটি স্ট্রিং দেওয়া আছে। অ্যালফাবেটিক্যাল অর্ডারে থাকা সাবস্ট্রিংয়ের সংখ্যা বের করতে হবে (ন্যূনতম দৈর্ঘ্য ২)। উদাহরণ: "REFJHLMNBV" তে "EF" এবং "MN" — মোট ২টি।

স্ট্রিং ট্র্যাভার্স করে যেকোনো পজিশনে str[i]+1 == str[i+1] হলে কাউন্ট বাড়ান এবং সিকোয়েন্স শেষ পর্যন্ত যান।

উদাহরণ

#include <iostream>
using namespace std;

int countSubstr(string main_str) {
    int res = 0, n = main_str.size();
    for (int i = 0; i < n-1; i++) {
        if (main_str[i] + 1 == main_str[i+1]) {
            res++;
            while (i+1 < n && main_str[i] + 1 == main_str[i+1]) i++;
        }
    }
    return res;
}

int main() {
    string str = "REFJHLMNBV";
    cout << "Number of substrings: " << countSubstr(str);
    return 0;
}

আউটপুট

Number of substrings: 2
  1. স্ট্রিং-এ প্রথম রিপিটেড ওয়ার্ড বের করা (C++)

  2. সর্টেড অর্ডারে Nth বাইনারি স্ট্রিং খুঁজে বের করা C++-এ

  3. C++ দিয়ে অন্য একটি স্ট্রিংএ এক স্ট্রিংয়ের সাবস্ট্রিং-এর সংখ্যা বের করা

  4. C++ দিয়ে একটি স্ট্রিংয়ের সাবস্ট্রিং-এর সংখ্যা বের করা