Given a string of lowercase, find the length of the longest substring that does not contain any palindrome as a substring.
Input : str = "daiict" Output : 3 dai, ict are longest substring that do not contain any palindrome as substring Input : str = "a" Output : 0 a is itself a palindrome
The idea is to observe that if any character forms a palindrome, it can not be included in any substring. So, in that case required substring will be picked from before or after that character which forms a palindrome.
Therefore, a simple solution is to traverse the string and for each character check whether it forms a palindrome of length 2 or 3 with its adjacent characters. If, does not then increase the length of substring otherwise re-initialize the length of the substring to zero. Using this approach find the length of the maximum substring.
Below is the implementation of the above approach:
- Check if string can be rearranged so that every Odd length Substring is Palindrome
- 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
- Length of the longest substring with no consecutive same letters
- Find length of longest subsequence of one string which is substring of another string
- Length of longest palindrome list in a linked list using O(1) extra space
- Length of the largest substring which have character with frequency greater than or equal to half of the substring
- Minimum length of the sub-string whose characters can be used to form a palindrome of length K
- Palindrome Substring Queries
- Queries on substring palindrome formation
- Queries to check if substring[L...R] is palindrome or not
- Longest substring of vowels
- Longest Common Substring | DP-29
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. 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.