Daily LeetCode – day0150 1759. Count Number of Homogenous Substrings

// 1759. Count Number of Homogenous Substrings
class Solution {
    public int countHomogenous(String s) {
        final long MOD = 1000000007L;
        char[] charArray = s.toCharArray();
        long cnt = 1;
        long ans = 0;
        for (int i = 1; i < charArray.length; ++i) {
            if (charArray[i] == charArray[i - 1]) {
                ++cnt;
            } else {
                ans += (1 + cnt) * cnt / 2;
                cnt = 1;
            }
        }
        ans += (1 + cnt) * cnt / 2;
        return (int) (ans % MOD);
    }
}
学习笔记:
这道题其实不复杂,考察的就是连续几个相同字母的组合。
用到了小学的等差数列求和公式,首相加末项的和乘以项数除以2。


关于樊轶群

一个善良的理想主义者。
此条目发表在每日LeetCode分类目录。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注