Print all strings of maximum length from an array of strings

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 abaExplanation: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: abcdExplanation: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.
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++
Java
Python3
C#
Javascript
// 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 stringsint 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 arrayvoid 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 arrayvoid 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 Codeint main(){    vector<string> arr        = { "aba", "aa", "ad", "vcd", "aba" };    printStrings(arr);     return 0;}
// 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<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 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 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# 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<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 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
<script>// Javascript program to implement// the above approach // Function to find the length// of the longest String from// the given array of Stringsfunction  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 arrayfunction 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 arrayfunction 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 Codelet 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)
mohit kumar 29
amit143katiyar
Rajput-Ji
simmytarika5
unknown2108
Arrays
School Programming
Searching
Strings
Arrays
Searching
Strings
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.