Print all strings of maximum length from an array of strings

• Difficulty Level : Easy
• Last Updated : 22 Jun, 2021

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:

1. 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.
2. 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++

 // C++ program to implement// the above approach #include using namespace std; // Function to find the length// of the longest string from// the given array of stringsint maxLength(vector 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 arrayvoid maxStrings(vector arr, int len){    int N = arr.size();    vector 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 arrayvoid printStrings(vector& 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 Codeint main(){    vector arr        = { "aba", "aa", "ad", "vcd", "aba" };    printStrings(arr);     return 0;}

Java

 // Java program to implement// the above approachimport java.util.*; class GFG{ // Function to find the length// of the longest String from// the given array of Stringsstatic 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 arraystatic void maxStrings(String []arr, int len){    int N = arr.length;    Vector ans = new Vector();     // 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 arraystatic 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 Codepublic static void main(String[] args){    String []arr = { "aba", "aa", "ad",                     "vcd", "aba" };                          printStrings(arr);}} // This code is contributed by Amit Katiyar

Python3

 # Python3 program to implement# the above approachimport sys # Function to find the length# of the longest string from# the given array of stringsdef 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 arraydef 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 arraydef 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 Codeif __name__ == '__main__':         arr = [ "aba", "aa", "ad",            "vcd", "aba" ]         printStrings(arr) # This code is contributed by mohit kumar 29

C#

 // C# program to implement// the above approachusing System;using System.Collections.Generic;class GFG{ // Function to find the length// of the longest String from// the given array of Stringsstatic 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 arraystatic void maxStrings(String []arr,                       int len){    int N = arr.Length;    List ans = new List();     // 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 arraystatic 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 Codepublic static void Main(String[] args){    String []arr = {"aba", "aa", "ad",                    "vcd", "aba"};                        printStrings(arr);}} // This code is contributed by Rajput-Ji

Javascript


Output:
aba vcd aba

Time Complexity: O(N)
Auxiliary Space: O(N)

My Personal Notes arrow_drop_up