एक लोअरकेस ऐरे दिया गया है। हमारा कार्य उस स्ट्रिंग के सबसे बड़े सबसेट का आकार ढूंढना है जो एक-दूसरे के एनाग्राम हैं। स्ट्रिंग का एनाग्राम का अर्थ है कि एक स्ट्रिंग दूसरे का एनाग्राम है यदि दूसरा केवल पहले का पुनर्व्यवस्थित रूप है। यहां हम पायथन में Counter() मेथड का उपयोग करके इस समस्या को जल्दी हल कर सकते हैं।
उदाहरण के लिए, स्ट्रिंग्स 'python' और 'typhon' एनाग्राम हैं।
एल्गोरिदम
चरण 1: स्पेस द्वारा अलग किए गए इनपुट स्ट्रिंग को शब्दों में विभाजित करें। चरण 2: दी गई स्ट्रिंग्स की लिस्ट में प्रत्येक स्ट्रिंग को सॉर्ट करें। चरण 3: अब Counter मेथड का उपयोग करके डिक्शनरी बनाएं जिसमें स्ट्रिंग्स कीज़ के रूप में हों और उनकी फ्रीक्वेंसीज़ वैल्यू के रूप में हों। चरण 4: max फंक्शन का उपयोग करके फ्रीक्वेंसी का अधिकतम मान प्राप्त करें।
उदाहरण कोड
# एनाग्राम शब्दों के सबसे बड़े सबसेट का आकार खोजने का फंक्शन
from collections import Counter
def largestana(str1):
# स्पेस द्वारा अलग किए गए इनपुट स्ट्रिंग को विभाजित करें
str1 = str1.split(" ")
# दी गई स्ट्रिंग्स की लिस्ट में प्रत्येक स्ट्रिंग को सॉर्ट करें
for i in range(0, len(str1)):
str1[i] = ''.join(sorted(str1[i]))
# अब Counter मेथड का उपयोग करके डिक्शनरी बनाएं
# जिसमें स्ट्रिंग्स कीज़ के रूप में हों और उनकी फ्रीक्वेंसीज़ वैल्यू के रूप में हों
newstr1 = Counter(str1)
# फ्रीक्वेंसी का अधिकतम मान प्राप्त करें
print("The Size Of largest subset of Anangram word is ::>", max(newstr1.values()))
# ड्राइवर प्रोग्राम
if __name__ == "__main__":
str1 = input("Enter the string ::>")
largestana(str1)आउटपुट
Enter the string ::> qwe ewq rty ytr ytr ytr The Size Of largest subset of Anangram word is ::> 4