एक एल्गोरिदम उत्पन्न करें जो टेक्स्ट के दो स्ट्रिंग्स के बीच सबसे लंबे सामान्य सबस्ट्रिंग को ढूंढता और प्रदर्शित करता है।स्ट्रिंग 1: यह एक उदाहरण है
स्ट्रिंग 2: इस स्ट्रिंग में उदाहरण होना चाहिए
अल्गोरिदम:
1. स्ट्रिंग 1 को स्ट्रिंग a में स्टोर करें और स्ट्रिंग 2 को स्ट्रिंग b में स्टोर करें।
2. सबसे लंबे सामान्य सबस्ट्रिंग की लंबाई 0 से शुरू करें।
3. स्ट्रिंग a के प्रत्येक सबसेट को ध्यान से देखें।
4. अगले इंडेक्स से शुरू करें और उस सबसेट की लंबाई के समान संख्या के अक्षर स्ट्रिंग b से मिलते जुलते होने चाहिए।
5. अगर ये सबसत मिलता है, तो उसकी लंबाई को बढ़ाएं और इस स्टेप से फिर से शुरू करें।
6. अगर कोई सबसत नहीं मिलता है, लंबाई कम कर दें।
7. सबसे लंबे सामान्य सबस्ट्रिंग को प्रदर्शित करें।

पायथन कोड:

def longest_common_substring(a, b):
    len_a = len(a)
    len_b = len(b)
    common_substring = ''
    length_common_substring = 0
    for i in range(len_a):
        for j in range(len_b):
            substring = ''
            k = 0
            while (i + k < len_a and j + k < len_b and a[i + k] == b[j + k]):
                substring += a[i + k]
                k += 1
            if (len(substring) > length_common_substring):
                length_common_substring = len(substring)
                common_substring = substring
    return common_substring

string1 = "यह एक उदाहरण है"
string2 = "इस स्ट्रिंग में उदाहरण होना चाहिए"

print("सबसे लंबे सामान्य सबस्ट्रिंग:", longest_common_substring(string1, string2)) #उदाहरण है