मान लीजिए कि हमारे पास एक स्ट्रिंग है; हमें यह गिनना है कि इस स्ट्रिंग में कितने पैलिंड्रोमिक सबस्ट्रिंग मौजूद हैं। अलग-अलग स्टार्ट इंडेक्स या एंड इंडेक्स वाले सबस्ट्रिंग को अलग-अलग सबस्ट्रिंग के रूप में गिना जाता है, भले ही उनमें एक ही वर्ण हों। इसलिए यदि इनपुट "आआ" जैसा है, तो आउटपुट 6 होगा क्योंकि "ए", "ए", "ए", "आ", "आ", "आआ" जैसे छह पैलिंड्रोमिक सबस्ट्रिंग हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- गिनती :=0
- मैं के लिए 0 से लंबाई की सीमा में अगर स्ट्रिंग
- जे के लिए i + 1 से लेकर स्ट्रिंग की लंबाई + 1
- . तक
- अस्थायी:=अनुक्रमणिका i से j तक सबस्ट्रिंग
- अगर टेम्परेचर पैलिंड्रोम है, तो गिनती को 1 से बढ़ा दें
- जे के लिए i + 1 से लेकर स्ट्रिंग की लंबाई + 1
- वापसी काउंटर
उदाहरण (पायथन)
आइए एक बेहतर समझ प्राप्त करने के लिए निम्नलिखित कार्यान्वयन देखें -
class Solution:
def countSubstrings(self, s):
counter = 0
for i in range(len(s)):
for j in range(i+1,len(s)+1):
temp = s[i:j]
if temp == temp[::-1]:
counter+=1
return counter
ob1 = Solution()
print(ob1.countSubstrings("aaaa")) इनपुट
"aaaa"
आउटपुट
10