- Samsung Galaxy S26 Ultra - fontossági sorrend
- Samsung Galaxy S23 Ultra - non plus ultra
- Okosóra és okoskiegészítő topik
- Hamarabb hajtogathatod az iPhone Foldot, mint vártad
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Redmi Note 9 Pro [joyeuse]
- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Apple iPhone 17 Pro Max – fennsík
Új hozzászólás Aktív témák
-
amargo
addikt
válasz
Fire/SOUL/CD
#784
üzenetére
Hi!
#define REHASH(a, b, h) ((((h) - (a)*d) << 1) + (b))
void KR(char *x, int m, char *y, int n) {
int d, hx, hy, i, j;
/* Preprocessing */
/* computes d = 2^(m-1) with
the left-shift operator */
for (d = i = 1; i < m; ++i)
d = (d<<1);
for (hy = hx = i = 0; i < m; ++i) {
hx = ((hx<<1) + x[i]);
hy = ((hy<<1) + y[i]);
}
/* Searching */
j = 0;
while (j <= n-m) {
if (hx == hy && memcmp(x, y + j, m) == 0)
OUTPUT(j);
hy = REHASH(y[j], y[j + m], hy);
++j;
}
}Igazából viszont nem értem, mivel a linkelt oldalon ott van az algoritmus azt csak implementálni kell. De ezt én is a lentebb linkelt oldalról raktam be.
Bár gondolom rothkrisz nem hiszem, hogy ennyire optimalizált kódot szeretne megírni, ha ilyet akarna, akkor ismerne még pár szóban forgót: Knuth-Morris-Pratt, Quick-Search stb...
Az én javaslatom inkább egy sima Brute force lenne, annak megvalósítás íme:
void BF(char *x, int m, char *y, int n)
{
int i, j;
/* Searching */
for (j = 0; j <= n - m; ++j) {
for (i = 0; i < m && x[i] == y[i + j]; ++i);
if (i >= m)
OUTPUT(j);
}
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- OLED monitor topic
- Hitelkártyák használata, hitelkártya visszatérítés
- Elektromos autók - motorok
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Hardcore café
- Samsung Galaxy S23 Ultra - non plus ultra
- Kell(ene) a hűtés a MacBook Neónak
- Crimson Desert
- Okosóra és okoskiegészítő topik
- További aktív témák...
- Lenovo Chromebook 5 2in1 (2020)
- újszerű iPhone 15 Plus 128GB blue kék független Apple 100% akkumulátor
- Apple Watch Series 10 GPS 46mm kozmoszfekete alumíniumtok fekete Apple garancia
- Használt Nintendo Switch amoled
- szinte új Apple Watch Ultra 2 GPS + Cellular 49 mm fekete titántok titán milánói szíj 3 év garancia
- GAMER PC! i7-10700F / RTX 3070 / B460-Plus / 16GB DDR4 / SSD 512GB / BeszámítOK!
- PS Plus előfizetések kedvező áron
- BESZÁMÍTÁS! Gigabyte Z270 i5 7600K 16GB DDR4 256GB SSD GTX 1060 3GB Zalman Z1 CHIEFTEC 500W
- MSI Thin GF63 - 15,6"FHD 144Hz - i5-12450H - 16GB - 512GB - Win11 - RTX 4050 - Garancia - MAGYAR
- Apple iPhone 11 64GB,Használt,Adatkabel,12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

