Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python หาขนาดของชุดย่อยที่ใหญ่ที่สุดของคำแอนนาแกรม


รับอาร์เรย์ตัวพิมพ์เล็ก งานของเราคือการหาขนาดของชุดย่อยที่ใหญ่ที่สุดของสตริงซึ่งเป็นแอนนาแกรมของกันและกัน แอนนาแกรมของสตริงหมายถึงสตริงหนึ่งเป็นแอนนาแกรมของอีกอันหนึ่ง หากอันที่สองเป็นเพียงการจัดเรียงใหม่ของสตริงแรก ที่นี่เราสามารถแก้ปัญหานี้ได้อย่างรวดเร็วใน 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