# Solving Leetcode Interviews in Seconds with AI: Maximum Repeating Substring


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "1668" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> 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 sequence, word'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".  Example 3:  Input: sequence = "ababc", word = "ac" Output: 0 Explanation: "ac" is not a substring in "ababc".     Constraints:  1 <= sequence.length <= 100 1 <= word.length <= 100 sequence and word contains only lowercase English letters.  

	# Explanation
	Here's the breakdown of the solution:

*   **Iterative Search:** The code iteratively checks for `word` repeated `k` times as a substring of `sequence`, starting with `k = 1` and incrementing `k`.
*   **Substring Check:** In each iteration, it constructs the repeated word (`k` times `word`) and uses the `in` operator to efficiently check if it's a substring of `sequence`.
*   **Maximization:**  It keeps track of the maximum `k` value for which the repeated word is a substring. If at any point the repeated word is *not* found, the loop terminates and the current maximum `k` is returned.

*   **Runtime Complexity:** O(N * M * L), where N is the length of sequence, M is the length of word, and L is the maximum k-repeating value.
*   **Storage Complexity:** O(M * L) , due to the temporary string created when repeating the word.

	
	# Code
	```python
	def maxRepeating(sequence: str, word: str) -> int:
    """
    Calculates the maximum k-repeating value of word in sequence.
    """
    max_k = 0
    k = 1
    while True:
        repeated_word = word * k
        if repeated_word in sequence:
            max_k = k
            k += 1
        else:
            break
    return max_k
	```
			
