5677. 统计同构子字符串的数目
难度中等
给你一个字符串 s
,返回 s
中 同构子字符串 的数目。由于答案可能很大,只需返回对 109 + 7
取余 后的结果。
同构字符串 的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同构字符串。
子字符串 是字符串中的一个连续字符序列。
示例 1:
1 | 输入:s = "abbcccaa" |
示例 2:
1 | 输入:s = "xy" |
示例 3:
1 | 输入:s = "zzzzz" |
提示:
1 <= s.length <= 105
s
由小写字符串组成
dp[i]
代表以i
结尾的当前字符
构成的同构字符串的数量,总数量是以每个字符结尾的同构字符串的数量和
例1:
1 | s = a b b c c c a a |
$(a + b) % p = (a % p + b % p) % p$
这是一个重要公式,求模时每一步求模,最后对结果求模所得的结果和最后一次求模的计算结果相同
1 | class Solution { |
时间复杂度$O(n)$