All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g1601_1700.s1668_maximum_repeating_substring.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g1601_1700.s1668_maximum_repeating_substring;

// #Easy #String #String_Matching #2022_04_22_Time_1_ms_(93.15%)_Space_40.5_MB_(86.13%)

/**
 * 1668 - Maximum Repeating Substring\.
 *
 * Easy
 *
 * 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.
**/
public class Solution {
    public int maxRepeating(String sequence, String word) {
        int k = 0;
        StringBuilder repeat = new StringBuilder(word);
        while (sequence.contains(repeat)) {
            k++;
            repeat.append(word);
        }
        return k;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy