Předmět Autor Datum
https://www.browserling.com/tools/letter-frequency
Wikan 30.07.2019 12:46
Wikan
super, moc děkuji!
Ludvík01 30.07.2019 13:00
Ludvík01
je to jednoduché (i naskriptovat). možné přístupy: 1. procedurální hledací : stačí ve vstupním poli…
baffon 30.07.2019 18:04
baffon
Zajisté existuje. Prakticky kdekoli se učí programování, tak je takovýchto a podobných plno. poslední
Henonee 30.07.2019 18:48
Henonee

je to jednoduché (i naskriptovat).
možné přístupy:
1. procedurální hledací : stačí ve vstupním poli vyhledat výskyt jedničky od začátku do konce, a pokaždé zvýšit čítač pro znak 1
2. objektový map-reduce: rozsekat vstup do pole znaků, zavolat funkci partition, případně group_by a u vybraných znaků u příslušných skupin zavolat jen funkci na délku pole
3. pomocí regexp: v řetězci použít funkci preg_match_all a opět vrátí pole symbolů (resp. vícerozměrné pole), délka pole pro odpovídající znaku bude odpovídat počtu výskytů. Lze případně použít preg_match_callback nebo rozmyslet, zda volat jednou s patternem [0-9] a až pak třídit a nebo volat pro každou číslici zvlášť

možná by to chtělo upřesnit co je zač "v číslech např. 145-1248", jestli jde o řetězec, matematický výraz, nebo rozsah čísel.
A jako vždy záleží na tom ,jestli je to domácí úkol na demonstraci, nebo to má být core algoritmus zaměřený na rychlost a efektivitu a bude pracovat s megabajty dlouhými řetězci.

Zpět do poradny Odpovědět na původní otázku Nahoru