Cho một chuỗi, nhiệm vụ kiểm tra xem chuỗi đó có phải Heterogram hay không.
Heterogram nghĩa là từ, cụm từ, hoặc câu mà không có chữ cái nào của bảng chữ cái xuất hiện hơn một lần. Heterogram khác với pangram (sử dụng tất cả chữ cái bảng chữ cái).
Ví dụ
String is abc def ghi
This is Heterogram (no alphabet repeated)
String is abc bcd dfh
This is not Heterogram. (b,c,d are repeated)
Thuật toán
Bước 1: Tách danh sách tất cả chữ cái trong câu. Bước 2: Chuyển list chữ cái thành set vì set chứa giá trị unique. Bước 3: Nếu độ dài set bằng số chữ cái thì mỗi chữ cái xuất hiện một lần -> heterogram, ngược lại không.
Ví dụ mã
def stringheterogram(s, n):
hash = [0] * 26
for i in range(n):
if s[i] != ' ':
if hash[ord(s[i]) - ord('a')] == 0:
hash[ord(s[i]) - ord('a')] = 1
else:
return False
return True
# Driven Code
s = input("Enter the String ::>")
n = len(s)
print(s, "This string is Heterogram" if stringheterogram(s, n) else "This string is not Heterogram")
Kết quả
Enter the String ::> asd fgh jkl asd fgh jkl This string is Heterogram Enter the String ::>asdf asryy asdf asryy This string is not Heterogram