CSES - Lyhin puuttuva

Annettuna on merkkijono, jossa on nn merkkiä väliltä a–z.

Tehtäväsi on selvittää, kuinka pitkä on lyhin merkkijono, joka muodostuu merkeistä a–z eikä ole annetun merkkijonon osajono.

Voit olettaa, että nn on enintään 10510^5. Algoritmin tulee toimia tehokkaasti kaikissa tapauksissa.

Toteuta tiedostoon nostring.py funktio find, joka antaa merkkijonon pituuden.

def find(s):
    # TODO

if __name__ == "__main__":
    print(find("zzz")) # 1
    print(find("aybabtu")) # 1
    print(find("abcdefghijklmnopqrstuvwxyz")) # 2

Selitys: Kahdessa ensimmäisessä esimerkissä vastaus on 1, koska kummassakaan merkkijonossa ei ole esimerkiksi osajonoa x. Kolmannessa esimerkissä vastaus on 2, koska merkkijonossa on kaikki 1 merkin pituiset osajonot mutta ei esimerkiksi 2 merkin pituista osajonoa aa.