[M数学] lc1759. 统计同构子字符串的数目(数学+等差求和)
Posted Ypuyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[M数学] lc1759. 统计同构子字符串的数目(数学+等差求和)相关的知识,希望对你有一定的参考价值。
文章目录
1. 题目来源
2. 题目解析
分析题目,连续字符串对答案的贡献实际上是 等差数列求和 即可,采用双指针求出连续字符串即可,注意防溢出。
- 时间复杂度: O ( n ) O(n) O(n)
- 空间复杂度: O ( 1 ) O(1) O(1)
class Solution
public:
const int MOD = 1e9+7;
int countHomogenous(string s)
int res = 0;
for (int l = 0, r = 0; r < s.size(); )
while (r < s.size() && s[r] == s[l]) r ++ ;
int n = r - l;
res = res + (n * (n + 1ll) / 2 % MOD) % MOD;
l = r;
return res;
;
以上是关于[M数学] lc1759. 统计同构子字符串的数目(数学+等差求和)的主要内容,如果未能解决你的问题,请参考以下文章
[M二叉树] lc1104. 二叉树寻路(思维+找规律+数学)
[M贪心] lc1353. 最多可以参加的会议数目(扫描线+STL优先队列)