Skip to content

Commit b02b46d

Browse files
authored
Add files via upload
1 parent e5f5556 commit b02b46d

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

main.c

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#include <stdio.h>
2+
3+
int main(int argc, char **argv)
4+
{
5+
int i, flag = 0, n = 25, m = 4, j, skip;
6+
char str[n] = "did i say that i need you";
7+
char pattern[m] = "need";
8+
char right[26];
9+
10+
11+
for (i = 0; i < 26; i++) {
12+
right[i] = -1;
13+
}
14+
for (i = 0; i < m; i++) {
15+
right[ pattern[i] - 'a' ] = i;
16+
}
17+
while ( ( !flag ) && ( i <= n - m) ) {
18+
j = m -1;
19+
while ( ( str[i + j] == pattern[j] ) && ( j >= 0 ) ) {
20+
j--;
21+
}
22+
if ( j < 0 )
23+
flag = 1;
24+
else {
25+
skip = j - right[ str[ i + j] - 'a'];
26+
if ( skip < 0 )
27+
i++;
28+
else
29+
i = i + skip;
30+
}
31+
}
32+
return 0;
33+
}

0 commit comments

Comments
 (0)