Given an array of strings arr[], the task is to print all the strings of maximum length from the given array.
Example:
Input: arr[] = {“aba”, “aa”, “ad”, “vcd”, “aba”}
Output: aba vcd aba
Explanation:
Maximum length among all the strings from the given array is 3.
The strings having length equal to 3 from the array are “aba”, “vcd”, “aba”.Input: arr[] = {“abb”, “abcd”, “guw”, “v”}
Output: abcd
Explanation:
Maximum length among all the strings from the given array is 4.
The string having length equal to 4 from the array is “abcd”.
Approach: Follow the steps below to solve the problem:
- Traverse the given array of strings. Calculate the maximum length among all the strings from the array and store it in a variable, say len.
- Now, traverse the array of string again and print those strings from the array having a length equal to len.
Below is the implementation of the above approach:
// C++ program to implement // the above approach #include <bits/stdc++.h> using namespace std;
// Function to find the length // of the longest string from // the given array of strings int maxLength(vector<string> arr)
{ int len = INT_MIN;
int N = arr.size();
// Traverse the array
for ( int i = 0; i < N; i++) {
// Stores the length
// of current string
int l = arr[i].size();
// Update maximum length
if (len < l) {
len = l;
}
}
// Return the maximum length
return len;
} // Function to print the // longest strings from the array void maxStrings(vector<string> arr, int len)
{ int N = arr.size();
vector<string> ans;
// Find the strings having length
// equals to len
for ( int i = 0; i < N; i++) {
if (len == arr[i].size()) {
ans.push_back(arr[i]);
}
}
// Print the resultant
// vector of strings
for ( int i = 0; i < ans.size(); i++) {
cout << ans[i] << " " ;
}
} // Function to print all the // longest strings from the array void printStrings(vector<string>& arr)
{ // Find the length of longest string
int max = maxLength(arr);
// Find and print all the strings
// having length equals to max
maxStrings(arr, max);
} // Driver Code int main()
{ vector<string> arr
= { "aba" , "aa" , "ad" , "vcd" , "aba" };
printStrings(arr);
return 0;
} |
// Java program to implement // the above approach import java.util.*;
class GFG{
// Function to find the length // of the longest String from // the given array of Strings static int maxLength(String []arr)
{ int len = Integer.MIN_VALUE;
int N = arr.length;
// Traverse the array
for ( int i = 0 ; i < N; i++)
{
// Stores the length
// of current String
int l = arr[i].length();
// Update maximum length
if (len < l)
{
len = l;
}
}
// Return the maximum length
return len;
} // Function to print the // longest Strings from the array static void maxStrings(String []arr, int len)
{ int N = arr.length;
Vector<String> ans = new Vector<String>();
// Find the Strings having length
// equals to len
for ( int i = 0 ; i < N; i++)
{
if (len == arr[i].length())
{
ans.add(arr[i]);
}
}
// Print the resultant
// vector of Strings
for ( int i = 0 ; i < ans.size(); i++)
{
System.out.print(ans.get(i) + " " );
}
} // Function to print all the // longest Strings from the array static void printStrings(String [] arr)
{ // Find the length of longest String
int max = maxLength(arr);
// Find and print all the Strings
// having length equals to max
maxStrings(arr, max);
} // Driver Code public static void main(String[] args)
{ String []arr = { "aba" , "aa" , "ad" ,
"vcd" , "aba" };
printStrings(arr);
} } // This code is contributed by Amit Katiyar |
# Python3 program to implement # the above approach import sys
# Function to find the length # of the longest string from # the given array of strings def maxLength(arr):
lenn = - sys.maxsize - 1
N = len (arr)
# Traverse the array
for i in range (N):
# Stores the length
# of current string
l = len (arr[i])
# Update maximum length
if (lenn < l):
lenn = l
# Return the maximum length
return lenn
# Function to print the # longest strings from the array def maxStrings(arr, lenn):
N = len (arr)
ans = []
# Find the strings having length
# equals to lenn
for i in range (N):
if (lenn = = len (arr[i])):
ans.append(arr[i])
# Print the resultant
# vector of strings
for i in range ( len (ans)):
print (ans[i], end = " " )
# Function to print all the # longest strings from the array def printStrings(arr):
# Find the length of longest string
max = maxLength(arr)
# Find and print all the strings
# having length equals to max
maxStrings(arr, max )
# Driver Code if __name__ = = '__main__' :
arr = [ "aba" , "aa" , "ad" ,
"vcd" , "aba" ]
printStrings(arr)
# This code is contributed by mohit kumar 29 |
// C# program to implement // the above approach using System;
using System.Collections.Generic;
class GFG{
// Function to find the length // of the longest String from // the given array of Strings static int maxLength(String []arr)
{ int len = int .MinValue;
int N = arr.Length;
// Traverse the array
for ( int i = 0; i < N; i++)
{
// Stores the length
// of current String
int l = arr[i].Length;
// Update maximum length
if (len < l)
{
len = l;
}
}
// Return the maximum length
return len;
} // Function to print the // longest Strings from the array static void maxStrings(String []arr,
int len)
{ int N = arr.Length;
List<String> ans = new List<String>();
// Find the Strings having length
// equals to len
for ( int i = 0; i < N; i++)
{
if (len == arr[i].Length)
{
ans.Add(arr[i]);
}
}
// Print the resultant
// vector of Strings
for ( int i = 0; i < ans.Count; i++)
{
Console.Write(ans[i] + " " );
}
} // Function to print all the // longest Strings from the array static void printStrings(String [] arr)
{ // Find the length of longest String
int max = maxLength(arr);
// Find and print all the Strings
// having length equals to max
maxStrings(arr, max);
} // Driver Code public static void Main(String[] args)
{ String []arr = { "aba" , "aa" , "ad" ,
"vcd" , "aba" };
printStrings(arr);
} } // This code is contributed by Rajput-Ji |
<script> // Javascript program to implement // the above approach // Function to find the length // of the longest String from // the given array of Strings function maxLength(arr)
{ let len = Number.MIN_VALUE;
let N = arr.length;
// Traverse the array
for (let i = 0; i < N; i++)
{
// Stores the length
// of current String
let l = arr[i].length;
// Update maximum length
if (len < l)
{
len = l;
}
}
// Return the maximum length
return len;
} // Function to print the // longest Strings from the array function maxStrings(arr,len)
{ let N = arr.length;
let ans = [];
// Find the Strings having length
// equals to len
for (let i = 0; i < N; i++)
{
if (len == arr[i].length)
{
ans.push(arr[i]);
}
}
// Print the resultant
// vector of Strings
for (let i = 0; i < ans.length; i++)
{
document.write(ans[i] + " " );
}
} // Function to print all the // longest Strings from the array function printStrings(arr)
{ // Find the length of longest String
let max = maxLength(arr);
// Find and print all the Strings
// having length equals to max
maxStrings(arr, max);
} // Driver Code let arr=[ "aba" , "aa" , "ad" ,
"vcd" , "aba" ];
printStrings(arr); // This code is contributed by unknown2108 </script> |
aba vcd aba
Time Complexity: O(N)
Auxiliary Space: O(N)