Kezdőoldal » Tudományok » Egyéb kérdések » Milyen praktikus, hatékony,...

Milyen praktikus, hatékony, gyors módszer van erre: maszkolás?

Figyelt kérdés

Van egy 14 betűs szó: ADMINISTRATION

és van sok ezer 14 számjegyű szám, pl.:

10261637017641, 10929259119249, 11394999419904, 11644460110404, 11759597817529, ...

Azt kell eldönteni, hogy a számok közül melyek felelnek meg a szónak, vagyis ahol egyforma betűk vannak a szóban, ott egyforma számjegyek vannak a számban, ill. ahol különbözőek a szóban, ott különbözőek a számban is.

Ötlet? Hogyan kell csinálni?



2016. ápr. 20. 00:32
 1/5 anonim ***** válasza:

Transzformálod a karakterláncot (mindegy hogy betű vagy számsor) pl. a következő szabállyal:


karakter -> karakter első előfordulásának helye.


vagy


karakter -> hányféle egyéb karaktert láttam az adott karakter első előfordulása előtt


Tehát a karakterláncot egy számlistává transzformálod. Ezután már csak meg kell nézned, hogy a betűsorod transzformáltja mely számsor transzformáltjával egyezik.



A második transzformációval:


ADMINISTRATION -> [0,1,2,3,4,3,5,6,7,0,6,3,8,4]


10261637017641 -> [0,1,2,3,0,3,4,5,1,0,5,3,6,0] ami nem egyezik


de például:


96582837097812 -> [0,1,2,3,4,3,5,6,7,0,6,3,8,4] ami egyezik

2016. ápr. 20. 13:29
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

Python 2.7 kódot feltettem ide: pastebin pont com/BVYDifkL (valamiért nem engedi ezt az oldalt betenni, azt hiszi, hogy linkrövidítő)


Egy pillanat alatt lefut többezer számra. Ha nem írsz ki minden sort, csak eltárolod egy listába a számokat, amelyek egyeznek, egymillió számra a laptopomon 3 másodperc alatt fut le, kipróbáltam.

2016. ápr. 20. 13:50
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:

Köszi! Lefuttattam a kódot, de az utolsóra is azt írta, hogy különbözik (pedig jó, "stimmelni" kellene).

Python 3.3.3-mam van, nem változtattam mást a kódon, csak a "print"-eket zárójeleztem.

2016. ápr. 20. 15:48
 4/5 anonim ***** válasza:

Hali, Python 2-n helyesen fut: [link]


Pyhton 3-ban, bár nem szoktam használni, tudtommal a map függvény generátor objektumot ad vissza, nem pedig listát. A return map(...)-es sort cseréld erre, és jó lesz:


return [transzformacio[x] for x in szoveg]

2016. ápr. 20. 16:52
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:

O.K. Így már jó, stimmel! :D

Köszönöm!

2016. ápr. 20. 17:16

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!