You are given a string S containing only lowercase letters and an integer K. In one operation you can change any character of the string to '#' character.
Note: '#' is not considered when checking for duplicates.
Task
Print the minimum number of operations required such that no substring of size K contains duplicates.
Example
Assumptions
- S = "ababc"
- K = 3
Approach
- Here, in the substrings "aba" & "bab", you encounter duplicates.
- Replace the first 2 characters with '#' and the final string becomes "##abc"
- Therefore the answer is 2.
Function description
Complete the solve function provided in the editor. This function takes the following 2 parameters and returns an integer that represents the answer to the task as described in the problem statement:
- S: Represents the string
- K: Represents the size of the substring
Input format
Note: This is the input format that you must use to provide custom input (available above the Compile and Test button).
- The first line contains the function parameter S.
- The second line contains the function parameter K.
Output format
Print an integer representing the answer to the given task.
Constraints
\(1 \leq |S| \leq 1*10^5\)
\(1 \leq K \leq min(|S|,26)\)
Code snippets (also called starter code/boilerplate code)
This question has code snippets for C, CPP, Java, and Python.
Please login to use the editor
You need to be logged in to access the code editor
Loading...
Please wait while we load the editor
Login to unlock the editorial