मान लीजिए कि हमारे पास एक स्ट्रिंग s है। हमें इसके सभी पदार्थों की सुंदरता का योग खोजना होगा। एक स्ट्रिंग की सुंदरता वास्तव में सबसे अधिक बार और कम से कम लगातार वर्णों के बीच आवृत्तियों में अंतर है। तो अगर स्ट्रिंग "abaacc" है, तो इसकी आवृत्ति 3 - 1 =2 है।
इसलिए, यदि इनपुट s ="xxyzy" जैसा है, तो आउटपुट 5 होगा क्योंकि गैर-शून्य सुंदरता वाले सबस्ट्रिंग हैं ["xxy", "xxyz", "xxyzy", "xyzy", "yzy"], प्रत्येक का सौंदर्य मूल्य 1 है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
रेस:=0
-
मैं के लिए 0 से s-1 के आकार की सीमा में, करो
-
j के लिए i+2 से लेकर s-1 के आकार की श्रेणी में, करें
-
c:=एक नक्शा जिसमें इंडेक्स i से j तक s के सबस्ट्रिंग की वर्ण आवृत्ति होती है
-
v:=c के सभी आवृत्ति मानों की सूची
-
रेस :=रेस +(अधिकतम वी - न्यूनतम वी)
-
-
-
रिटर्न रेस
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
from collections import Counter
def solve(s):
res=0
for i in range(len(s)):
for j in range(i+2,len(s)):
c=Counter(s[i:j+1])
v=c.values()
res+=(max(v)-min(v))
return res
s = "xxyzy"
print(solve(s)) इनपुट
"xxyzy"
आउटपुट
5