easy sliding window (java)
IntuitionApproachComplexity
Time complexity:

Space complexity:
Code
# Intuition
<!-- Describe your first thoughts on how to solve this problem. -->

# Approach
<!-- Describe your approach to solving the problem. -->

# Complexity
- Time complexity:
<!-- Add your time complexity here, e.g. $$O(n)$$ -->

- Space complexity:
<!-- Add your space complexity here, e.g. $$O(n)$$ -->

# Code
```java []
class Solution {
    public int numberOfSubstrings(String s, int k) {
        int n = s.length();
        int total = (n + 1) * n / 2;
        int left = 0;
        int[] freq = new int[26];

        for (int i = 0; i < n; i++) {
            char c = s.charAt(i);
            freq[c - 'a']++;

            while (freq[c - 'a'] >= k) freq[s.charAt(left++) - 'a']--;
            total -= i - left + 1;
        }

        return total;
    }
}
```
['Sliding Window', 'Java']