รับอาร์เรย์ตัวพิมพ์เล็ก งานของเราคือการหาขนาดของชุดย่อยที่ใหญ่ที่สุดของสตริงซึ่งเป็นแอนนาแกรมของกันและกัน แอนนาแกรมของสตริงหมายถึงสตริงหนึ่งเป็นแอนนาแกรมของอีกอันหนึ่ง หากอันที่สองเป็นเพียงการจัดเรียงใหม่ของสตริงแรก ที่นี่เราสามารถแก้ปัญหานี้ได้อย่างรวดเร็วใน python โดยใช้วิธี Counter()
ตัวอย่างเช่น สตริง 'python' และ 'typhon' เป็นแอนนาแกรม
อัลกอริทึม
Step 1: Split input string separated by space into words. Step 2: Sort each string in given list of strings. Step 3: Now create dictionary using counter method which will have strings as key and their Frequencies as value. Step 4: Get maximum value of frequency using max function.
โค้ดตัวอย่าง
# Function to find the size of largest subset # of anagram words from collections import Counter def largestana(str1): # split input string separated by space str1 = str1.split(" ") # sort each string in given list of strings for i in range(0,len(str1)): str1[i]=''.join(sorted(str1[i])) # now create dictionary using counter method # which will have strings as key and their # frequencies as value newstr1 = Counter(str1) # get maximum value of frequency print ("The Size Of largest subset of Anangram word is ::>",max(newstr1.values())) # Driver program 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