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

g2901_3000.s2953_count_complete_substrings.readme.md Maven / Gradle / Ivy

The newest version!
2953\. Count Complete Substrings

Hard

You are given a string `word` and an integer `k`.

A substring `s` of `word` is **complete** if:

*   Each character in `s` occurs **exactly** `k` times.
*   The difference between two adjacent characters is **at most** `2`. That is, for any two adjacent characters `c1` and `c2` in `s`, the absolute difference in their positions in the alphabet is **at most** `2`.

Return _the number of **complete** substrings of_ `word`.

A **substring** is a **non-empty** contiguous sequence of characters in a string.

**Example 1:**

**Input:** word = "igigee", k = 2

**Output:** 3

**Explanation:** The complete substrings where each character appears exactly twice and the difference between adjacent characters is at most 2 are: **igig**ee, igig**ee**, **igigee**.

**Example 2:**

**Input:** word = "aaabbbccc", k = 3

**Output:** 6

**Explanation:** The complete substrings where each character appears exactly three times and the difference between adjacent characters is at most 2 are: **aaa**bbbccc, aaa**bbb**ccc, aaabbb**ccc**, **aaabbb**ccc, aaa**bbbccc**, **aaabbbccc**.

**Constraints:**

*   1 <= word.length <= 105
*   `word` consists only of lowercase English letters.
*   `1 <= k <= word.length`




© 2015 - 2024 Weber Informatics LLC | Privacy Policy