- LG G8X - kettőn áll a vásár
- Huawei Watch GT 3 Pro - korlátolt szépség
- iPhone topik
- Samsung Galaxy S25 FE - fenséges, felejthető vagy felesleges?
- Google Pixel topik
- MIUI / HyperOS topik
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Honor Magic6 Pro - kör közepén számok
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
Új hozzászólás Aktív témák
-
Karma
félisten
válasz
loopati #2235 üzenetére
Kérdés, hogy az egyszerűséget kinek a szemszögéből nézzük. A legegyszerűbb naív algoritmus az, ha végigmész a string karakterein, és egy mapet töltesz fel vele - a karakter a kulcs, a hozzá tartozó érték meg az előfordulások száma, amit eggyel növelgetsz. Ha végére értél a szövegnek, minden kellő infő ott lesz.
Meh, lassú voltam
-
WonderCSabo
félisten
válasz
loopati #2235 üzenetére
Csinálsz egy map -et aminek a kulcsai karakterek, értékei pedig egész számok. Végigmész for ciklussal a stringeden karakterenként, és a map [] operátorát használva megnöveled az adott karakter-hez tartozó számot 1-el.
Miután végzett a for ciklus, a map tartalmazni fogja, hogy melyik karakter hányszor szerepelt a string-ben. -
mgoogyi
senior tag
-
Jester01
veterán
válasz
loopati #2228 üzenetére
A logaritmus elég időigényes dolog, egy osztásos ciklussal szerintem jobban jársz, de ahogy gondolod.
Tizedesvessző után nem lesz szám ha egészekkel operálszEz például megadja a 3 legmagasabb helyiértékű számjegyet:
while(x > 999) x /= 10;
Ezután ha szükséges akkor az egyes számjegyeket további osztásokkal már egyszerű kinyerni.
-
Karma
félisten
válasz
loopati #2228 üzenetére
Ha az utolsó számjegy kell, ne adj hozzá egyet. Ha két számjegy kell, vonj ki egyet belőle. Az egyszerűség kedvéért legyen ez a kapott szám X.
Emeld a 10-et az X-edik hatványra, aztán csinálj egy egész osztást az eredeti számból. Az eredmény így a felső egy (vagy kettő) számjegy lesz.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Okos Otthon / Smart Home
- Kerékpárosok, bringások ide!
- SSD kibeszélő
- One otthoni szolgáltatások (TV, internet, telefon)
- sidi: Samsung Deskmaster 386s/20n
- Formula-1
- Jövedelem
- PlayStation 5
- LG G8X - kettőn áll a vásár
- sidi: 286-os Laptop memóriabővítés: Toshiba T3100e (gázplazma)
- További aktív témák...
- Gamer PC i5-12400F, RTX 4060, 16 GB DDR5, 1 TB NVMe kiváló állapot(1 éves)! 410.000 Ft
- DELL latitude 5410 Tartós Üzleti Laptop 14" -70% i5-8365U 4Mag 8Gb 256GB SSD FHD IPS
- Acer Nitro 5 AN515 I7 9 gen 32 gb 1650
- Intel Core i7-6700 100% tesztelt, hűtő nélkül
- Intel Core i3-6100T 100% tesztelt, hűtő nélkül
- HIBÁTLAN iPhone XS 256GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3587, 100% Akkumulátor
- HIBÁTLAN iPhone 13 Pro Max 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3521
- BESZÁMÍTÁS! ASROCK B650M R5 7600X 32GB DDR5 1TB SSD RX 6900XT 16GB ZALMAN Z1 Plus EVGA 750W
- Azonnali készpénzes Sony Playstation 4 Slim / PS4 Pro felvásárlás személyesen/csomagküldéssel
- iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3426, 95% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest