Fizzbuzz segítség?
Kapok egy stringet ami lehet "fizz" vagy "buzz" és egy X pozitív számot (max 10^9). Ezután a következő műveletet hajtjuk végre a stringen: Minden "fizz" után beszúrunk egy "buzz"-t és minden "buzz" után beszúrunk egy "fizz"-t. Addig ismételjuk ezt a műveletet ameddig a stringben lévő szavak száma el nem éri X-et. A kérdés hogy az X-edik szó "fizz" vagy "buzz" lesz? Pl ha "fizz" a kiindulás és X = 3 akkor ilyen lépések lesznek:
fizz
fizzbuzz
fizzbuzzbuzzfizz
És "buzz" a megoldás mert ez a 3. szó. Ezt hogy oldjam meg?
Valoszinuleg van O(1) megoldas is, de nincs kedvem agyalni rajta és ez a logaritmikus is 1 ms alatt fut 10^9 X-re.
"Minden "fizz" után beszúrunk egy "buzz"-t és minden "buzz" után beszúrunk egy "fizz"-t." ...
"fizzbuzzbuzzfizz
És "buzz" a megoldás mert ez a 3. szó. Ezt hogy oldjam meg?"
Nem gépelted el a példát? Miért van két buzz egymás után?
Lehet, hogy valamit félreértek, de ha X maradék nélkül osztható kettővel, akkor a kiinduló szó az eredmény, egyébként pedig a másik.
További 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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!