Hirdetés

Új hozzászólás Aktív témák

  • opr

    nagyúr

    válasz #83580928 #12429 üzenetére

    Van erre egy viszonylag egyszeru modszer is amugy:
    Mivel csak a leghoszabb ismetlodo kell, mas nem (hanyszor ismetlodik, hany darab ismetlodo van, stb), ezert eleg egyszeruen megirhato, ami ugy nez ki, hogy kezdesz a string hossza / 2-tol (compareLength), es ezt lepteted 1-esevel lefele, illetve compLength-hasonlitgatsz szeleteket, a stringen meg egyesevel lepkedsz elore (i). Egy masik ciklus meg annyit csinal, hogy (i) + compareLength-rol indul, es egyesevel compareLength meretu string szeleteket hasonlit ossze az elso ciklusbol kieso szelettel. Az elso adando alkalommal, amikor talal valamit, megvan a leghoszabb egyezes (mivel a leheto legnagyobb ismetlodo string az, ha a teljes hosszaban ketszer szerepel ugyanaz).

    Ez se tul optimalis, de nem olyan nehez megirni, es azert annyira nem veszesen lassu.

    Direkt nem irtam hozza kodot (meg pszeudot sem), mert igy meg kell erteni az implementalashoz a mindent. :P

Új hozzászólás Aktív témák