Đề bài
A pangram contains every English letter at least once. Determine whether the text is a pangram. Ignore case, spaces, digits, and punctuation.
Implement pangram_check(text).
Input
text: The text to inspect.
Output
Return true if all 26 letters appear, otherwise false.
Ràng buộc
0 ≤ text length ≤ 100,000. Input contains printable ASCII characters. Only letters A–Z and a–z count.
Ví dụ
Đầu vào:
text = "The quick brown fox jumps over the lazy dog."
Kết quả mong đợi:
expected = True
Đầu vào:
std::string text = "The quick brown fox jumps over the lazy dog.";
Kết quả mong đợi:
bool expected = true;
Đầu vào:
string text = "The quick brown fox jumps over the lazy dog.";
Kết quả mong đợi:
bool expected = true;
Giải thích
Every letter from a through z appears at least once. Capital T counts as t.
Đầu vào:
text = "abcdefghijklmnopqrstuvwxy"
Kết quả mong đợi:
expected = False
Đầu vào:
std::string text = "abcdefghijklmnopqrstuvwxy";
Kết quả mong đợi:
bool expected = false;
Đầu vào:
string text = "abcdefghijklmnopqrstuvwxy";
Kết quả mong đợi:
bool expected = false;
Giải thích
This text contains a through y, but it has no z. One missing letter makes it false.
Hướng tiếp cận
Hãy tự thử trước, sau đó mở từng gợi ý một.
Gợi ý 1
Chuẩn hóa văn bản để không phân biệt chữ hoa chữ thường.
Gợi ý 2
Theo dõi 26 chữ cái nào đã xuất hiện ít nhất một lần.
Gợi ý 3
Bỏ qua hoàn toàn mọi ký tự không phải chữ cái, kể cả khoảng trắng và dấu câu.
Độ phức tạp mong đợi
thời gian O(n), bộ nhớ phụ O(1)
Tham khảo
Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.