Given a string , the task is to find the maximum length of the sub-string of that can be arranged into a Palindrome (i.e at least one of its permutation is a Palindrome). Note that the sub-string must be of even length.
Input: str = “124565463”
“456546” is the valid sub-string
Input: str = “122313”
Approach: Use two variables: start (inclusive) and end (exclusive) to keep track of the starting and ending index of the current sub-string that is being considered in the given string. Also use a dictionary named count which keeps the record of how many times, a character occurs in the current sub-string. Now, there are two possible cases for a sub-string:
- If the length of the sub-string is odd, then it cannot be considered in the final solution.
- If the length of the sub-string is even, then it can be a possible solution only if each character in that sub-string occurs even number of times which can be done using the dictionary count. We check if each character occurs even number of times or not. If yes, then we include it as one of the possible solutions. Then we form the next sub-string by including the next character in the string which can be done by simply incrementing end and check recursively if a sub-string with greater length can be formed which satisfies the given conditions and return the maximum of all possible solutions.
Below is the implementation of the above approach:
- Maximum length substring having all same characters after k changes
- Maximum length substring with highest frequency in a string
- Minimum removal to make palindrome permutation
- Palindrome Substring Queries
- Queries on substring palindrome formation
- Longest Even Length Substring such that Sum of First and Second Half is same
- Length of the longest substring with equal 1s and 0s
- Length of the longest valid substring
- Length of the longest substring without repeating characters
- Substring with highest frequency length product
- Minimum K such that every substring of length atleast K contains a character c
- Convert to a string that is repetition of a substring of k length
- Nth Even length Palindrome
- Sum of first K even-length Palindrome numbers
- Binary String of given length that without a palindrome of size 3