LC: 1180. Count Substrings with Only One Distinct Letter
1180. Count Substrings with Only One Distinct Letter
Given a string s, return the number of substrings that have only one distinct letter.
Example 1:
Input: s = "aaaba"
Output: 8
Explanation: The substrings with one distinct letter are "aaa", "aa", "a", "b".
"aaa" occurs 1 time.
"aa" occurs 2 times.
"a" occurs 4 times.
"b" occurs 1 time.
So the answer is 1 + 2 + 4 + 1 = 8.Example 2:
Input: s = "aaaaaaaaaa"
Output: 55Constraints:
1 <= s.length <= 1000s[i]consists of only lowercase English letters.
The Essence:
Wenn man zu einem String der Länge ein neues Zeichen zufügt, dann entsteht n neue Teilstrings. Wir können also die Anzahl der neu entstehenden Teilstring in Bezug auf die Länge der aktuellen Teilstrings bestimmen und sie damit zu der Gesamtsumme addieren.
Details:
Dies kann mit einer einfachen Schleife durch die Zeichen implementiert werden. Wenn zwei benachbarte Zeichen gleich sind, inkrementieren wir die Länge des aktuellen Teilstrings mit gleichen Zeichen. Andernfalls wird sie auf 0 zurückgesetzt, wobei die Lauflänge zu der Gesamtsumme addiert wird.
Solution(s):
Default Code:
Last updated