Я знаю, что эффективность этого кода не является оптимальной (особенно с гигантскими входами), и я знаю, что есть способ изменить этот алгоритм для обработки других типов данных, а не просто повторения в строке (очевидно, там для поиска достаточно всего нескольких символов).
Есть ли способ увеличить эффективность здесь?
Я пробовал использовать словарь, и функция продолжала возвращать "none", поэтому я попробовал список, и все получилось отлично.
Спасибо заранее любому, кто может мне помочь!
def find_repeater(string):
my_list = []
my_list.append(string[0])
for i in range (1, len(string)):
if string[i] in my_list:
print 'repetition found'
return (string[i])
else:
my_list.append(string[i])
print find_repeater('abca')
теперь со словарем.... (он сохраняет печать "нет" на консоли)
def find_repeater(string):
my_dict = {}
my_dict[0] = string[0]
for i in range (1, len(string)):
if string[i] in my_dict:
print 'repetition found'
return string[i]
else:
my_dict[i] = string[i]
print find_repeater('abca')