DDSA
Advertisement

1358. Number of Substrings Containing All Three Characters

1358.cs
C#
public class Solution
{
    public int NumberOfSubstrings(string s)
    {
        int ans = 0;
        int[] count = new int[3];

        int l = 0;
        foreach (char c in s)
        {
            ++count[c - 'a'];
            while (count[0] > 0 && count[1] > 0 && count[2] > 0)
                --count[s[l++] - 'a'];
            // s[0..r], s[1..r], ..., s[l - 1..r] are satisfied strings.
            ans += l;
        }

        return ans;
    }
}
Advertisement