Given a string S of measurement 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 full rely of distinct characters within the index vary [0, i] is a primary quantity.
Enter: N = 6, S = “aabagh”
Rationalization: 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”
Rationalization: No invalid character
Strategy: This drawback may be solved utilizing the prefix array idea.
Concept: The thought is to precompute all of the prime numbers within the given vary of N after which simply test for the required circumstances at each character.
Observe the beneath steps to unravel the issue:
- Create a precompute perform and calculate all prime elements utilizing the sieve of Eratosthenes.
- Create a hashmap to retailer frequencies of characters which can assist us decide if the character is a reproduction or not.
- Iterate over the string from and when any even index is reached test the next:
- The variety of distinct characters within the prefix is prime
- Whether it is true, then incremented the ans by 1.
Beneath is the implementation of the above strategy.
Time Complexity: O(N√N)
Auxiliary House: O(N)