Как и в большинстве других вещей, когда дело доходит до кодирования, практика делает его совершенным… и эффективным, читабельным и чистым.
Чтобы подготовиться к техническим собеседованиям, которые в нашем неизбежном будущем, моя когорта Data Science Immersion занимается наиболее распространенными проблемами программирования, которые наши инструкторы должны решить.
Ниже приведена подборка решений очень распространенной уникальной символьной функции из краудсорсинга.
Задача 4: Уникальные персонажи
Реализуйте алгоритм для определения уникальности каждого символа в строке.
#Valeria Rozenbaum def is_unique(string): char_dict = {} for char in string: if char_dict.get(char): return False else: char_dict[char] = True return True
Мой одноклассник Брендан сделал пару действительно творческих снимков проблемы.
#Brendan Bailey #Solution 1 def unique_characters(word): unique_set = set([]) unique_phrase = "All characters are unique" for letter in word.lower(): if letter in unique_set: unique_phrase = "Not all characters are unique" else: unique_set.add(letter) print word, ":", unique_phrase #Solution 2 def unique_characters1(word): unique_dict = {} unique_phrase = "All characters are unique" for letter in word.lower(): try: unique_dict[letter] +=1 unique_phrase = "Not all characters are unique" break except KeyError: unique_dict[letter] = 1 print word, ":", unique_phrase
Брайан Остин также применил отличный подход, который сильно отличался от моего собственного.
#Brian Austin def unstr_1(string): letter_counter = {} unique = True for i in string: if i not in letter_counter: letter_counter[i]=1 else: letter_counter[i]+=1 for i in letter_counter: if letter_counter[i]>1: print "Letter",i,"is in the string",letter_counter[i],'times' unique =False if unique == True: return "All letters unique"