Largest substring with same Characters
Given a string s of size N. The task is to find the largest substring which consists of same characters
Examples:
Input : s = “abcdddddeff”
Output : 5
Substring is “ddddd”Input : s = aabceebeee
Output : 3
Approach :
Traverse through the string from left to right. Take two variables ans and temp. If the current element is the same as the previous element then increment temp. If the current element is not equals to the previous element then make temp as 1 and update ans.
Below is the implementation of the above approach :
C++
// CPP program to find largest sub // string with same characters #include <bits/stdc++.h> using namespace std; // Function to find largest sub // string with same characters int Substring(string s) { int ans = 1, temp = 1; // Traverse the string for (int i = 1; i < s.size(); i++) { // If character is same as // previous increment temp value if (s[i] == s[i - 1]) { ++temp; } else { ans = max(ans, temp); temp = 1; } } ans = max(ans, temp); // Return the required answer return ans; } // Driver code int main() { string s = "abcdddddeff"; // Function call cout << Substring(s); return 0; } |
Java
// Java program to find largest sub // string with same characters import java.util.*; class GFG { // Function to find largest sub // string with same characters static int Substring(String s) { int ans = 1, temp = 1; // Traverse the string for (int i = 1; i < s.length(); i++) { // If character is same as // previous increment temp value if (s.charAt(i) == s.charAt(i - 1)) { ++temp; } else { ans = Math.max(ans, temp); temp = 1; } } ans = Math.max(ans, temp); // Return the required answer return ans; } // Driver code public static void main(String[] args) { String s = "abcdddddeff"; // Function call System.out.println(Substring(s)); } } // This code is contributed by 29AjayKumar |
Python3
# Python3 program to find largest sub # with same characters # Function to find largest sub # with same characters def Substring(s): ans, temp = 1, 1 # Traverse the string for i in range(1, len(s)): # If character is same as # previous increment temp value if (s[i] == s[i - 1]): temp += 1 else: ans = max(ans, temp) temp = 1 ans = max(ans, temp) # Return the required answer return ans # Driver code s = "abcdddddeff" # Function call print(Substring(s)) # This code is contributed by Mohit Kumar |
C#
// C# program to find largest sub // string with same characters using System; class GFG { // Function to find largest sub // string with same characters static int Substring(String s) { int ans = 1, temp = 1; // Traverse the string for (int i = 1; i < s.Length; i++) { // If character is same as // previous increment temp value if (s[i] == s[i - 1]) { ++temp; } else { ans = Math.Max(ans, temp); temp = 1; } } ans = Math.Max(ans, temp); // Return the required answer return ans; } // Driver code public static void Main(String[] args) { String s = "abcdddddeff"; // Function call Console.WriteLine(Substring(s)); } } // This code is contributed by Rajput-Ji |
PHP
<?php // PHP program to find largest sub // string with same characters // Function to find largest sub // string with same characters function Substring($s) { $ans = 1; $temp = 1; // Traverse the string for ($i = 1; $i < strlen($s); $i++) { // If character is same as // previous increment temp value if ($s[$i] == $s[$i - 1]) { ++$temp; } else { $ans = max($ans, $temp); $temp = 1; } } $ans = max($ans, $temp); // Return the required answer return $ans; } // Driver code $s = "abcdddddeff"; // Function call echo Substring($s); // This code is contributed by Naman_Garg ?> |
Output:
5
Time Complexity: O(N)
Recommended Posts:
- Length of the largest substring which have character with frequency greater than or equal to half of the substring
- Maximum length substring having all same characters after k changes
- Longest substring such that no three consecutive characters are same
- Searching characters and substring in a String in Java
- Print Longest substring without repeating characters
- Longest substring of only 4's from the first N characters of the infinite string
- Length of the longest substring without repeating characters
- Minimum characters to be replaced to remove the given substring
- Minimum length substring with exactly K distinct characters
- Find the longest substring with k unique characters in a given string
- Largest substring of str2 which is a prefix of str1
- Lexicographically smallest and largest substring of size k
- Minimum steps to delete a string by deleting substring comprising of same characters
- Number of Positions to partition the string such that atleast m characters with same frequency are present in each substring
- Largest sub-string where all the characters appear at least K times
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.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.



