मान लीजिए हमारे पास एक स्ट्रिंग है; हमें गिनना है कि इस स्ट्रिंग में कितने पैलिंड्रोमिक उपस्ट्रिंग मौजूद हैं। अलग-अलग प्रारंभ सूचकांक या अंत सूचकांक वाले उपस्ट्रिंग को अलग-अलग उपस्ट्रिंग के रूप में गिना जाता है भले ही उनमें समान वर्ण हों। इसलिए यदि इनपुट "aaa" है, तो आउटपुट 6 होगा क्योंकि छह पैलिंड्रोमिक उपस्ट्रिंग हैं जैसे "a", "a", "a", "aa", "aa", "aaa"
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- count := 0
- i के लिए 0 से स्ट्रिंग की लंबाई तक
- j के लिए i + 1 से स्ट्रिंग की लंबाई + 1 तक
- temp := सूचकांक i से j तक उपस्ट्रिंग
- यदि temp पैलिंड्रोम है, तो count को 1 से बढ़ाएं
- j के लिए i + 1 से स्ट्रिंग की लंबाई + 1 तक
- काउंटर लौटाएं
उदाहरण (Python)
बेहतर समझ के लिए निम्न कार्यान्वयन देखें -
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