- One mobilszolgáltatások
- iPhone topik
- Vivo X300 - kicsiben jobban megéri
- Amazfit T-Rex 3 - prehisztorikus idő
- Honor Magic6 Pro - kör közepén számok
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Huawei P20 - ez is kétkezes lett
- Yettel topik
- Google Pixel 10 Pro XL – tíz kicsi Pixel
- Huawei Watch GT 6 és GT 6 Pro duplateszt
Ú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álsz
Ez 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!
- Gran Turismo
- Futás, futópályák
- Kecskemét és környéke adok-veszek-beszélgetek
- One mobilszolgáltatások
- Több új játék támogatásával bővült az Intel APO
- Ulefone Armor Pad 5 Ultra - 1,8 kiló, vetíthet?
- Felvenné a Noctua kesztyűjét az ASUS
- PlayStation 3
- Leiskolázná a mezőnyt az új Samsung csúcs-SoC
- PlayStation 5
- További aktív témák...
- Lenovo ThinkPad X13 G2 13.3" -50% AMD Ryzen 5 Pro 5650U Hexa-core 16GB 512GB SSD FHD
- Gaming PC - R5 9600X,RTX 5070 12GB,32GB DDR5,1TB NVMe,850W
- Ultra PC - R7 7800X3D,RTX 5080 16GB,32GB DDR5,1TB NVMe,1200W
- Uhh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 32/1TB RTX A2000 4GB /1 Millió/
- Lenovo Legion 5 15ARH05H - Gamer Laptop
- í kilenc! AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 7670 i9-12950HX 32GB RAM 1TB SSD Nvidia RTX A3000 12GB 1 év gar
- BESZÁMÍTÁS! ASRock X870 R9 7950X3D 32GB DDR5 1TB SSD RTX 4090 24GB Be quiet Pure Base 501 LX white
- ÚJ AKKU! Ár/ÉRTÉK BAJNOK! Dell Latitude 5330 i3-1215U 6mag! 16GB 512GB 13.3" FHD 1 év gar
- Microsoft Surface Pro 7+ - Újszerű, billentyűzettel és ceruzával
- 5G LTE! Microsoft Surface Pro 8 i7-1185G7 16GB 256GB 1 év garancia
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopszaki Kft.
Város: Budapest





