Autor | Zpráva | ||
---|---|---|---|
Warezov Profil * |
#1 · Zasláno: 28. 11. 2009, 19:40:58
Chtel bych se zeptat jak spocitat pocet podstringu ve stringu?
|
||
retro Profil * |
#2 · Zasláno: 28. 11. 2009, 20:10:45
Co je to podstring ?
|
||
retro Profil * |
#3 · Zasláno: 28. 11. 2009, 20:13:22
Jinak jestli je to, co si myslím (podobnost stringů) - Tady je něco : http://www.borber.com/blog/funkce-pro-podobnost-stringu-reseni
|
||
Majkl578 Profil |
#4 · Zasláno: 28. 11. 2009, 20:18:48
substr_count() |
||
imploder Profil |
#5 · Zasláno: 28. 11. 2009, 20:51:29 · Upravil/a: imploder
"podstring" je zřejmě podřetězec, tj. má se spočítat počet všech různých řetězců, které jsou součástí daného řetězce, včetně jeho samotného.
V řetězci o délce n je n pozic, kde může podřetězec začínat. Podřetězec o délce n může začínat jen na jediné pozici (na 1. znaku řetězce) -> tedy je 1; podřetězec o délce (n-1) může začínat na dvou místech: na 1. znaku nebo na 2. znaku -> tedy jsou 2; řetězec o délce (n-2) může začínat na třech: na 1. znaku, na 2. znaku, nebo na 3. znaku -> tedy jsou 3; ...atd. Takhle to pokračuje až do podřetězce o délce 1 znak. Takže: počet podřetězců v řetězci o délce n je roven n! (n-faktoriál). Poznámky: - Pokud považuješ prázdný řetězec taky za podřetězec, pak přičti k výsledku +1. - Takhle se spočítá počet všech možných výběrů jakéhokoliv počtu znaků z daného řetězce (každý výběr je určen pozicí, kde v řetězci začíná, a svojí délkou) - tzn. pokud některé 2 výběry mají stejný obsah, započítají se i tak jako 2 různé podřetězce. - Pokud chceš spočítat jen počet různých (svým obsahem) podřetězců, můžeš všechny podřetězce vypsat a duplicitní odfiltrovat; nebo použít nějakou sofistikovanější metodu (kterou neznám). - Pokud nechceš počítat počet všech možných podřetězců daného řetězce, ale něco jiného, a to počet výskytů uritého podřetězce v řetězci, pak je funkce substr_count(), kterou ti poradil Majkl578, to pravé. |
||
Warezov Profil * |
#6 · Zasláno: 28. 11. 2009, 21:01:35
děkuji Majkl578 a imploder za pomoc...
|
||
Časová prodleva: 14 let
|
0