Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python tìm kích thước tập con anagram lớn nhất


Cho mảng chữ thường. Nhiệm vụ tìm kích thước tập con lớn nhất của chuỗi là anagram của nhau. Anagram nghĩa là một chuỗi là anagram của chuỗi khác nếu chuỗi thứ hai chỉ là sắp xếp lại chuỗi đầu. Giải quyết nhanh bằng Counter() method.

Ví dụ, 'python' và 'typhon' là anagram.

Thuật toán

Bước 1: Tách chuỗi nhập cách nhau bởi dấu cách thành từ.
Bước 2: Sắp xếp từng chuỗi trong danh sách chuỗi.
Bước 3: Tạo dictionary dùng Counter method với key là chuỗi, value là tần suất.
Bước 4: Lấy giá trị tần suất lớn nhất dùng max.

Ví dụ mã

# Hàm tìm kích thước tập con lớn nhất của từ anagram
from collections import Counter

def largestana(str1):
    # Tách chuỗi nhập cách nhau bởi dấu cách
    str1 = str1.split(" ")
    # Sắp xếp từng chuỗi
    for i in range(0, len(str1)):
        str1[i] = ''.join(sorted(str1[i]))
    # Tạo dictionary Counter
    newstr1 = Counter(str1)
    # Lấy giá trị tần suất lớn nhất
    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)

Kết quả

Enter the string ::> qwe ewq rty ytr ytr ytr
The Size Of largest subset of Anangram word is ::> 4