मान लीजिए कि हमारे पास एक स्ट्रिंग है; हमें यह गिनना है कि इस स्ट्रिंग में कितने पैलिंड्रोमिक सबस्ट्रिंग मौजूद हैं। अलग-अलग स्टार्ट इंडेक्स या एंड इंडेक्स वाले सबस्ट्रिंग को अलग-अलग सबस्ट्रिंग के रूप में गिना जाता है, भले ही उनमें एक ही वर्ण हों। इसलिए यदि इनपुट "आआ" जैसा है, तो आउटपुट 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