X

DAYS

:

HOUR

:

MINS

:

SEC

Copied to Clipboard
Search Pattern (Rabin-Karp Algorithm)
Medium Accuracy: 40.72% Submissions: 8279 Points: 4

Given two strings, one is a text string and other is a pattern string. The task is to print the indexes of all the occurences of pattern string in the text string. For printing, Starting Index of a string should be taken as 1.

Example 1:

Input:
S = "batmanandrobinarebat", pat = "bat"
Output: 1 18
Explanation: The string "bat" occurs twice
in S, one starts are index 1 and the other
at index 18.


â€‹Example 2:

Input:
S = "abesdu", pat = "edu"
Output: -1
Explanation: There's not substring "edu"
present in S.


You don't need to read input or print anything. Your task is to complete the function search() which takes the string S and the string pat as inputs and returns an array denoting the start indices (1-based) of substring pat in the string S.

Expected Time Complexity: O(|S|*|pat|).
Expected Auxiliary Space: O(1).

Constraints:
1<=|S|<=105
1<=|pat|<|S|