Given a string S of dimension N. The duty is to seek out the variety of Invalid characters. Index i (0 ≤ i < N) is invalid if i is even and the whole rely of distinct characters within the index vary [0, i] is a primary quantity.
Enter: N = 6, S = “aabagh”
Clarification: Characters at index 2 and 4 are invalid as 2 and 4 each are even and rely of distict characters upto index 2 and 4 are 2 and three respectively which is prime.
Enter: N = 2, S = “gg”
Clarification: No invalid character
Strategy: This downside will be solved utilizing the prefix array idea.
Thought: The concept is to precompute all of the prime numbers within the given vary of N after which simply verify for the required situations at each character.
Comply with the under steps to resolve the issue:
- Create a precompute perform and calculate all prime components utilizing the sieve of Eratosthenes.
- Create a hashmap to retailer frequencies of characters which is able to assist us decide if the character is a reproduction or not.
- Iterate over the string from and when any even index is reached verify the next:
- The variety of distinct characters within the prefix is prime
- Whether it is true, then incremented the ans by 1.
Under is the implementation of the above strategy.
Time Complexity: O(N√N)
Auxiliary House: O(N)