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

C++-তে স্ট্রিং-এ ডISTINCT সাবস্ট্রিং গণনা করা


সমস্যা অনুযায়ী, একটি স্ট্রিং str দেওয়া আছে। এর সব ডISTINCT সাবস্ট্রিং গণনা করতে হবে। সাবস্ট্রিং হলো একটি স্ট্রিং যা অন্য স্ট্রিংয়ের অংশ এবং এর সাইজ মূল স্ট্রিংয়ের চেয়ে ছোট বা সমান হতে পারে।

ইনপুট − str = "wxyz"

আউটপুট − count of distinct substring is: 10

ব্যাখ্যা − ডISTINCT সাবস্ট্রিংগুলো:

wxyz, wxy, wx, w, xyz, xy, x, yz, y, z (মোট ১০টি)

ইনপুট − str = "zzzz"

আউটপুট − count of distinct substring is: 4

ব্যাখ্যা − ডISTINCT সাবস্ট্রিং: zzzz, zzz, zz, z

প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • স্ট্রিং str ইনপুট নিন।
  • একটি খালি unordered_set myset ডিক্লেয়ার করুন।
  • বাহেরের লুপ i = 0 থেকে str.size()-1 পর্যন্ত।
    • একটি খালি স্ট্রিং space ডিক্লেয়ার করুন।
    • ভিতরের লুপ j = i থেকে str.size()-1 পর্যন্ত।
    • প্রতিটা স্টেপে space += str[j] করুন।
    • myset.insert(space) করুন।
  • সেটের সাইজ প্রিন্ট করুন।

উদাহরণ

#include <iostream>
#include <unordered_set>
#include <string>
using namespace std;

int main() {
    string str = "aaaa";
    unordered_set myset;
    for (int i = 0; i < str.size(); ++i) {
        string space = "";
        for (int j = i; j < str.size(); ++j) {
            space += str[j];
            myset.insert(space);
        }
    }
    cout << "count of distinct substring is: " << myset.size();
    return 0;
}

আউটপুট

count of distinct substring is: 4
  1. C++-এ হেক্সাডেসিমেল সংখ্যা গণনা

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

  3. পাইথনে স্ট্রিংয়ে সাবস্ট্রিংর সংখ্যা কাউন্ট করার প্রোগ্রাম

  4. পাইথনে স্ট্রিংয়ের সব সাবস্ট্রিংয়ের স্বতন্ত্র ক্যারেক্টার সংখ্যায়ের যোগফল