इस लेख में, आप किसी दिए गए स्ट्रिंग में बनाए जा सकने वाले सबस्ट्रिंग (गैर-रिक्त) की संख्या को खोजने के तरीकों के बारे में जानेंगे।
Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, ‘oo’, ‘on’, ‘moo’, ‘oon’ and ‘moon’. Input : string = “yellow” Output : 21
समाधान खोजने के लिए दृष्टिकोण
मान लें कि स्ट्रिंग की लंबाई n है, इसलिए ऊपर दिए गए उदाहरण को देखते हुए, हम समझते हैं कि सबस्ट्रिंग की सभी संभावित संख्याओं को खोजने के लिए, हमें लंबाई n, (n-1), (n-2), (n) के सबस्ट्रिंग को जोड़ने की आवश्यकता है। -3), (n-4),......2, 1.
सबस्ट्रिंग्स की कुल संख्या =n + (n - 1) + (n - 2) + (n - 3) + (n - 4) + ……. + 2 + 1.
=n * (n + 1)/2
तो अब हमारे पास उन सबस्ट्रिंग्स की संख्या का मूल्यांकन करने के लिए एक फॉर्मूला है जहां n किसी दिए गए स्ट्रिंग की लंबाई है।
उपरोक्त दृष्टिकोण के लिए C++ कोड
यहां C++ सिंटैक्स दिया गया है जिसे हम दी गई समस्या को हल करने के लिए इनपुट के रूप में उपयोग कर सकते हैं -
उदाहरण
#include<bits/stdc++.h> using namespace std; int main () { string str = "yellow"; // finding the length of string int n = str.length (); // calculating result from formula int number_of_strings = n * (n + 1) / 2; cout << "Number of substrings of a string : " << number_of_strings; return 0; }
आउटपुट
Number of substrings of a string: 21
संहिता की व्याख्या
किसी दिए गए स्ट्रिंग से संभावित सबस्ट्रिंग की संख्या खोजने का यह आशावादी और सीधा तरीका है।
सबसे पहले, इस कोड में, हम .length() फ़ंक्शन से किसी दिए गए स्ट्रिंग की लंबाई पाते हैं और उस मान को ऊपर दिए गए सूत्र में डालते हैं, परिणाम चर में संग्रहीत आउटपुट को प्रिंट करते हैं।
निष्कर्ष
इस लेख में, हमने एक स्ट्रिंग में सबस्ट्रिंग्स की संख्या को खोजने का तरीका समझाया है, जहां हम पहले सभी संभावित सबस्ट्रिंग्स की संख्या को खोजने के लिए फॉर्मूला प्राप्त करते हैं और स्ट्रिंग की लंबाई से फॉर्मूला का उपयोग करके परिणाम प्राप्त करते हैं। हम उसी प्रोग्राम को अन्य भाषाओं जैसे सी, जावा, पायथन और अन्य भाषाओं में लिख सकते हैं। हमें उम्मीद है कि आपको यह लेख मददगार लगा होगा।