Effiziente Suche nach wiederholten Zeichen in einer Zeichenfolge

Ich weiß, dass die Effizienz dieses Codes nicht optimal ist (insbesondere bei riesigen Eingaben), und ich weiß, dass es eine Möglichkeit gibt, diesen Algorithmus zu ändern, um andere Datentypen zu verarbeiten, und nicht nur eine Wiederholung in einer Zeichenfolge (offensichtlich gibt es nur eine) so viele Zeichen zum Durchsuchen).

ibt es eine Möglichkeit, die Effizienz hier zu steiger

Ich habe versucht, ein Wörterbuch zu verwenden, und die Funktion hat immer wieder 'none' zurückgegeben, also habe ich eine Liste ausprobiert, und die Dinge haben gut funktioniert.

Vielen Dank im Voraus an alle, die mir helfen können!

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')  

Jetzt mit einem Wörterbuch .... (es gibt weiterhin 'none' auf der Konsole aus)

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')  

Antworten auf die Frage(7)

Ihre Antwort auf die Frage