Skip to content

Commit cf45392

Browse files
committed
Precompute lowercase letters to speed up count_letters
1 parent d57e451 commit cf45392

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

Sprint-2/improve_with_precomputing/count_letters/count_letters.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@ def count_letters(s: str) -> int:
33
count_letters returns the number of letters which only occur in upper case in the passed string.
44
"""
55
only_upper = set()
6+
7+
# Precompute all lowercase letters in the string for faster lookup
8+
lower_case_set={ch for ch in s if ch.islower() }
9+
610
for letter in s:
7-
if is_upper_case(letter):
8-
if letter.lower() not in s:
9-
only_upper.add(letter)
11+
if is_upper_case(letter) and letter.lower() not in lower_case_set:
12+
only_upper.add(letter)
1013
return len(only_upper)
1114

1215

0 commit comments

Comments
 (0)