Given a string str and an integer K, the task is to check if it is possible to make the string K palindromes using all the characters of the string exactly once.
Input: str = “poor”, K = 3
One way of getting 3 palindromes is: oo, p, r
Input: str = “fun”, K = 5
2 palindromes can’t be constructed using 3 distinct letters. Hence not possible.
- If the size of the string is less than k, getting k palindromes is not possible.
- If the size of the string is equal to k, getting k palindromes is always possible. We give 1 character to each of k strings and all of them are palindromes as a string of length 1 is always a palindrome.
- If the size of the string is greater than k then some strings might have more than 1 character.
- Create a hashmap to store the frequency of every character as the characters having even number of occurrences can be distributed in groups of 2.
- Check if the number of characters having an odd number of occurrences is less than or equal to k, we can say that k palindromes can always be generated else no.
Below is the implementation of the above approach:
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Check if the string contains consecutive letters and each letter occurs exactly once
- Find the String having each substring with exactly K distinct characters
- Modify the string such that it contains all vowels at least once
- Count of strings that can be formed from another string using each character at-most once
- Minimum number of operations to move all uppercase characters before all lower case characters
- Generate a string of size N whose each substring of size M has exactly K distinct characters
- Remove characters from a String that appears exactly K times
- Min flips of continuous characters to make all characters same in a string
- Find the smallest window in a string containing all characters of another string
- Check whether the frequencies of all the characters in a string are prime or not
- Find the element that appears once in a sorted array
- Count number of substrings with exactly k distinct characters
- Sub-strings having exactly k characters that have ASCII value greater than p
- Minimum length substring with exactly K distinct characters
- Count of substrings of length K with exactly K distinct characters
- Replace minimal number of characters to make all characters pair wise distinct
- Minimum characters to be replaced to make frequency of all characters same
- Generate all binary strings of length n with sub-string "01" appearing exactly twice
- String with k distinct characters and no same characters adjacent
- Permutation of a string with maximum number of characters greater than its adjacent characters
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.