Keresés

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

  • axioma

    veterán

    válasz kezdosql #2285 üzenetére

    Az a baj, hogy a reszletes leiras megmutatta, hogy mit csinaltal te eddig, hogyan gondolkodtal, de az eredeti feladatot (amit a megrendelo, fonok, akarki adott) me'g mindig nem latom.
    Ezen a fix halmazon egyszer kell megcsinalni? Mar reg keszen lenne kezzel.
    Ilyesmi inputok varhatoak de valtozoak? Ha igen, mi a CEL, az output? Ha tobbfele, akkor mindegyik pontosan megfogalmazva (a cel az valamilyen sorrend, a fuggetlen maximalis halmazok, a tartalmazasok listaja, a "hasonlosagok" kiertekelese valami heurisztikaval, vagy mi?)
    Ha ezt meg tudod mondani, pikk-pakk lenne megoldas is hozza. Igen, valoszinuleg a python erre pont jo lenne. De egy biztos: barmilyen programot csak akkor tudsz erdemben megirni, ha tudod, hogy kezzel, vegtelen ido alatt, milyen modszerrel csinalnad meg. Ahhoz meg kell tudni hogy mit. En ezt most nem tudom, ezert nem tudok (es a csendbol itelve masok sem) valaszt adni.

  • moseras

    tag

    válasz kezdosql #2285 üzenetére

    Üdv,

    Valami ilyenre gondoltál ?

    import string
    import random

    def randString(size):
    letters = 'ABCDEFGHIJKLMNOPQRSTUVWX'
    rstring = ''
    for c in letters:
    if random.random() > 0.5: # random bool
    rstring += c
    if len(rstring) >= size:
    break
    return rstring

    # eredeti
    a = [randString(random.randint(1,22)) for _ in range(30)]
    print(a)
    print()

    # hossz szerint rendezett
    b = sorted(a, key=len, reverse=True)
    print(b)
    print()

    # részhalmazok keresése a b[0]-ra
    h0 = set(b[0])
    rr = [b[0]]
    for s in b[1:]:
    htemp = set(s)
    if htemp <= h0: # htemp.issubset(h0) ?
    rr.append(s)

    print(rr)

    Egy lehetséges eredmény:

    ['ABCDGHIKORST', 'ABDFGHIMNOPRS', 'ABEHLN', 'ABCDEFGHKMOPSTU', 'ABCEHK', 'ABCD', 'ACFJMRTV', 'ABCF', 'DE', 'BFJKLM', 'ABCEIKMQRSTUV', 'AGLMPS', 'BCDEHI', 'BEFGQRU', 'BCFHIJLMOSWX', 'ABCJM', 'DIJLRSTW', 'ABCDEGIJLTU', 'DIJKLMNQTVWX', 'AEGHJKLMRT', 'BCDE', 'ABEGIKMNOQTW', 'DEGHLNOTUVX', 'A', 'ABEL', 'ABCEHJOPS', 'BCEIJKMNOPQR', 'GKLMNOPRSUW', 'ABCD', 'ABCDFHLOSVX']

    ['ABCDEFGHKMOPSTU', 'ABDFGHIMNOPRS', 'ABCEIKMQRSTUV', 'ABCDGHIKORST', 'BCFHIJLMOSWX', 'DIJKLMNQTVWX', 'ABEGIKMNOQTW', 'BCEIJKMNOPQR', 'ABCDEGIJLTU', 'DEGHLNOTUVX', 'GKLMNOPRSUW', 'ABCDFHLOSVX', 'AEGHJKLMRT', 'ABCEHJOPS', 'ACFJMRTV', 'DIJLRSTW', 'BEFGQRU', 'ABEHLN', 'ABCEHK', 'BFJKLM', 'AGLMPS', 'BCDEHI', 'ABCJM', 'ABCD', 'ABCF', 'BCDE', 'ABEL', 'ABCD', 'DE', 'A']

    ['ABCDEFGHKMOPSTU', 'ABCEHK', 'ABCD', 'ABCF', 'BCDE', 'ABCD', 'DE', 'A']

    [ Szerkesztve ]

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