Maximum Repeating Substring

For a string sequence, a string word is k-repeating if word concatenated k times is a substring of sequence. The word's maximum k-repeating value is the highest value k where word is k-repeating in sequence. If word is not a substring of sequenceword's maximum k-repeating value is 0.

Given strings sequence and word, return the maximum k-repeating value of word in sequence.

Example 1:

Input: sequence = "ababc", word = "ab"
Output: 2
Explanation: "abab" is a substring in "ababc".

Example 2:

Input: sequence = "ababc", word = "ba"
Output: 1
Explanation: "ba" is a substring in "ababc". "baba" is not a substring in "ababc".

Approach

C++

#include <bits/stdc++.h>
using namespace std;

int maxRepeating(string sequencestring word)
{

    string str = word;

    int cnt = 0;

    while (sequence.find(str) != string::npos)
    {
        cnt++;
        str += word;
    }

    return cnt;
}

int main()
{
    string sequence = "ababc"word = "ab";

    cout << maxRepeating(sequenceword<< "\n";

    return 0;
}


No comments:

Post a Comment