summaryrefslogtreecommitdiffstats
path: root/04-algorithms_on_strings/04-suffix_array/01-kmp/kmp.cpp
diff options
context:
space:
mode:
Diffstat (limited to '04-algorithms_on_strings/04-suffix_array/01-kmp/kmp.cpp')
-rw-r--r--04-algorithms_on_strings/04-suffix_array/01-kmp/kmp.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/04-algorithms_on_strings/04-suffix_array/01-kmp/kmp.cpp b/04-algorithms_on_strings/04-suffix_array/01-kmp/kmp.cpp
new file mode 100644
index 0000000..13121ae
--- /dev/null
+++ b/04-algorithms_on_strings/04-suffix_array/01-kmp/kmp.cpp
@@ -0,0 +1,29 @@
+#include <cstdio>
+#include <iostream>
+#include <string>
+#include <vector>
+
+using std::cin;
+using std::string;
+using std::vector;
+
+// Find all occurrences of the pattern in the text and return a
+// vector with all positions in the text (starting from 0) where
+// the pattern starts in the text.
+vector<int> find_pattern(const string& pattern, const string& text) {
+ vector<int> result;
+ // Implement this function yourself
+ return result;
+}
+
+int main() {
+ string pattern, text;
+ cin >> pattern;
+ cin >> text;
+ vector<int> result = find_pattern(pattern, text);
+ for (int i = 0; i < result.size(); ++i) {
+ printf("%d ", result[i]);
+ }
+ printf("\n");
+ return 0;
+}