Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Speedy category for Fuzzy String Matching by arutyunyan
from itertools import zip_longest
def fuzzy_string_match(str1: str, str2: str, threshold: int) -> bool:
return sum(char != sec for char, sec in zip_longest(str1, str2, fillvalue='+')) <= threshold
if __name__ == '__main__':
print("Example:")
print(fuzzy_string_match("apple", "appel", 2))
# These "asserts" are used for self-checking
assert fuzzy_string_match("apple", "appel", 2) == True
assert fuzzy_string_match("apple", "bpple", 1) == True
assert fuzzy_string_match("apple", "bpple", 0) == False
assert fuzzy_string_match("apple", "apples", 1) == True
assert fuzzy_string_match("apple", "bpples", 2) == True
assert fuzzy_string_match("apple", "apxle", 1) == True
assert fuzzy_string_match("apple", "pxxli", 3) == False
print("The mission is done! Click 'Check Solution' to earn rewards!")
Nov. 1, 2023